ما الفرق بين
;this.BackgroundImage = global::Example.Properties.Res.image
وهذا
;this.BackgroundImage = Example.Properties.Res.image
قد تحتاج لكلاسات متشابهة تماما بال namespace لكنها موجودة في مكتبتين مختلفتين وقد تحتاج التعامل مع مكتبتين باصدارين مختلفين
حينها لفك التعارض تقوم بتعيين اسم alias لإحداهما لكي تفرق بينهما والألياس هو ما يسبق النيم سبيس مع وجود نقطتين مكررتين
وتعيين ال ألاسم البديل تقف على ال reference للمكتبة ومن الخصائص ستجد أن الاسم هو الافتراضي global وحينها تقوم بتغييره لأي اسم آخر
وعند الرغبة في استخدامه في ملف ما تصرح عنه من خلال الكلمة المفتاحية extern
بالنسبة لل global هو الألياس الافتراضي لكل المكتبات التي ليس لها ألياس وسواء كتبتها أم لم تكتبها فلا فرق طالما ليس هناك تعارض أسماء نطاقات أو كلاسات
كذلك الأمر تحتاجه إذا تشابه اسم نيم سبيس عام مع نيم سبيس فرعي وأنت داخل إحدى النطاقات فحتى تعرف المترجم أيهما تريد تضطر لاستخدام ال ألياس العام global ليعرف أنك لا تقصد النطاق المحلي
التعليقات