نصائح

مساحات الأسماء في VB.NET

مساحات الأسماء في VB.NET

الطريقة الأكثر شيوعًا لاستخدام مساحات أسماء VB.NET بواسطة معظم المبرمجين هي إخبار المترجم أي مكتبات .NET Framework مطلوبة لبرنامج معين. عند اختيار "قالب" لمشروعك (مثل "Windows Forms Application") فإن أحد الأشياء التي تختارها هو مجموعة مساحات الأسماء المحددة التي سيتم الرجوع إليها تلقائيًا في مشروعك. هذا يجعل الكود في مساحات الأسماء هذه متاحًا لبرنامجك.

على سبيل المثال ، بعض مساحات الأسماء والملفات الفعلية الموجودة في تطبيق Windows Forms هي:

النظام> في System.dll
System.Data> في System.Data.dll
System.Deployment> System.Deployment.dll
System.Drawing> System.Drawing.dll
System.Windows.Forms> System.Windows.Forms.dll

يمكنك رؤية (وتغيير) مساحات الأسماء والمراجع لمشروعك في خصائص المشروع ضمن المراجع التبويب.

هذه الطريقة في التفكير في مساحات الأسماء تجعلها تبدو وكأنها مجرد "مكتبة الرموز" ولكنها جزء فقط من الفكرة. الفائدة الحقيقية من مساحات الأسماء هي التنظيم.

لن يحظى معظمنا بفرصة إنشاء تسلسل هرمي جديد لمساحة الاسم لأنه يتم بشكل عام مرة واحدة فقط "في البداية" لإنشاء مكتبة رموز كبيرة ومعقدة. ولكن ، هنا ، سوف تتعلم كيفية تفسير مساحات الأسماء التي سيُطلب منك استخدامها في العديد من المؤسسات.

ما هي مساحات الأسماء؟

تتيح مساحات الأسماء تنظيم عشرات الآلاف من كائنات .NET Framework وكافة الكائنات التي ينشئها مبرمجو VB في المشروعات أيضًا ، حتى لا يتعارضون.

على سبيل المثال ، إذا قمت بالبحث عن اللون كائن ، تجد اثنين. هناك اللون الاعتراض في كليهما:

System.Drawing
System.Windows.Media

إذا قمت بإضافة واردات بيان لكلا مساحات الأسماء (قد يكون المرجع ضروريًا لخصائص المشروع) ...

نظام الواردات
نظام الواردات

... ثم بيان مثل ...

خافت كألوان

... سيتم وضع علامة عليها كخطأ في الملاحظة ، "اللون غامض" وسوف يشير .NET إلى أن مساحات الأسماء تحتوي على كائن يحمل هذا الاسم. يسمى هذا النوع من الخطأ "تضارب الأسماء".

هذا هو السبب الحقيقي لـ "مساحات الأسماء" وهي أيضًا طريقة استخدام مساحات الأسماء في تقنيات أخرى (مثل XML). تتيح مساحات الأسماء استخدام نفس اسم الكائن ، مثل اللونعندما يكون الاسم مناسبًا مع الاحتفاظ بالأشياء منظمة. هل يمكن تحديد أ اللون كائن في التعليمات البرمجية الخاصة بك والاحتفاظ بها متميزة عن تلك الموجودة في .NET (أو رمز المبرمجين الآخرين).

مساحة الاسم
فئة اللون العام
اللون الفرعي ()
' قم بعمل ما
نهاية الفرعية
نهاية الدرجة
نهاية مساحة الاسم

يمكنك أيضا استخدام اللون اعترض في مكان آخر في برنامجك مثل هذا:

خافت ج كما MyColor.Color الجديد
c.Color ()

قبل الدخول في بعض الميزات الأخرى ، يجب الانتباه إلى أن كل مشروع موجود في مساحة اسم. يستخدم VB.NET اسم المشروع الخاص بك (WindowsApplication1 لتطبيق النماذج القياسية إذا لم تقم بتغييره) كمساحة الاسم الافتراضية. لرؤية هذا ، قم بإنشاء مشروع جديد (استخدمنا الاسم NSProj وتحقق من أداة مستعرض الكائنات):

  1. انقر هنا لعرض التوضيح
  2. انقر على الى الخلف زر على متصفحك للعودة

يعرض "مستعرض الكائنات" مساحة اسم المشروع الجديدة (والكائنات المعرّفة تلقائيًا فيها) مباشرةً مع مساحات أسماء .NET Framework. تعد قدرة VB.NET على جعل الكائنات الخاصة بك مساوية لكائنات .NET أحد مفاتيح القوة والمرونة. على سبيل المثال ، هذا هو السبب في قيام Intellisense بعرض كائناتك الخاصة بمجرد تعريفها.

لطرده إلى مستوى رفيع ، دعنا نحدد مشروعًا جديدًا (أطلقنا عليه اسم مشروعنا NewNSProj في نفس الحل (الاستخدام ملف > إضافة > مشروع جديد… ) ورمز مساحة اسم جديدة في هذا المشروع. ولجعلها أكثر متعة ، فلنضع مساحة الاسم الجديدة في وحدة نمطية جديدة (أطلقنا عليها اسمًا NewNSMod). ونظرًا لأن كائنًا يجب ترميزه كصف دراسي ، فقد أضفنا أيضًا كتلة فئة (تسمى NewNSObj). إليك الرمز و Solution Explorer لإظهار مدى ملاءمته:

  1. انقر هنا لعرض التوضيح
  2. انقر على الى الخلف زر على متصفحك للعودة

نظرًا لأن الشفرة الخاصة بك هي "مثل رمز الإطار" ، فمن الضروري إضافة إشارة إلى NewNSMod في NSProj لاستخدام الكائن في مساحة الاسم ، على الرغم من أنهم في نفس الحل. بمجرد الانتهاء من ذلك ، يمكنك إعلان وجود كائن فيه NSProj بناء على الطريقة في NewNSMod. تحتاج أيضًا إلى "إنشاء" المشروع بحيث يوجد كائن حقيقي للرجوع إليه.

Dim o As NewNSProj.AVBNS.NewNSMod.NewNSObj
o.AVBNSMethod ()

هذا تماما خافت بيان على الرغم من. يمكننا تقصير ذلك باستخدام واردات بيان مع اسم مستعار.

Imports NS = NewNSProj.AVBNS.NewNSMod.NewNSObj

خافت ك NS جديدة
o.AVBNSMethod ()

النقر فوق الزر "تشغيل" يعرض MsgBox من مساحة اسم AVBNS ، "مهلا! لقد نجحت!"

متى ولماذا استخدام مساحات الأسماء

كان كل شيء حتى الآن مجرد بناء جملة - قواعد الترميز التي يجب عليك اتباعها في استخدام مساحات الأسماء. ولكن للاستفادة حقًا ، تحتاج إلى شيئين:

  • شرط لتنظيم مساحة الاسم في المقام الأول. أنت بحاجة إلى أكثر من مجرد مشروع "Hello World" قبل بدء تنظيم مساحات الأسماء.
  • خطة لاستخدامها.

بشكل عام ، توصي Microsoft بتنظيم رمز مؤسستك باستخدام مزيج من اسم شركتك مع اسم المنتج.

لذا ، على سبيل المثال ، إذا كنت كبير مهندسي البرامج في Dr. No's Nose Knows Surgery Surgery ، فقد تحتاج إلى تنظيم مساحات الأسماء الخاصة بك مثل ...

دكتور لا
الاستشارات
ReadTheirWatchNChargeEm
TellEmNuthin
العملية الجراحية
الفيل، انسان
MyEyeLidsRGone

هذا يشبه منظمة .NET ...

موضوع
النظام
النواة
IO
ينق
البيانات
دبك
مزود

يتم تحقيق مساحات الأسماء متعددة المستويات بمجرد تداخل كتل مساحة الاسم.

مساحة الاسم DRNo
جراحة مساحة الاسم
مساحة الاسم MyEyeLidsRGone
رمز VB
نهاية مساحة الاسم
نهاية مساحة الاسم
نهاية مساحة الاسم

أو

مساحة الاسم DRNo.Surgery.MyEyeLidsRGone
رمز VB
نهاية مساحة الاسم


شاهد الفيديو: 06 كتابة كود ملء أسماء الدول (يونيو 2021).