كشف مساحة الاسم

يقوم بتعريف اسم مساحة الاسم ويجعل التعليمات البرمجية المصدر التي تتبع التعريف يتم ترجمتها داخل مساحة الاسم ذلك.

Namespace { name | name.name }
    [ componenttypes ]
End Namespace

الأجزاء

  • name
    مطلوبة. اسم فريد يعرّف مساحة الاسم. يجب أن يكون معرّف Visual Basic صالح. لمزيد من المعلومات، راجع أسماء العنصر المعرف.

  • componenttypes
    اختياري. الـعناصر التي تشكل مساحة الاسم. وهذا يتضمن (ولكنها لا تقتصر على) قائمات التعداد, البنيات، الواجهات، الفئات، الوحدات النمطية، التفويضات و مساحات الاسم الأخرى.

  • End Namespace
    تنهي كتلة Namespace.

ملاحظات

يتم استخدام مساحات الاسم كنظام تنظيمي. وهي توفر طريقة لتصنيف وتقديم عناصر البرمجة التي تتعرض الى برامج وتطبيقات أخرى. لاحظ أن مساحة الاسم ليس نوع بمعنى أن فئة أو بنية — يتعذر تعريف عنصر برمجة ليكون لديه نوع بيانات لمساحة الاسم.

يمكنك استخدام كشف Namespace فقط. في مستوى ملف أو مساحة الاسم. وهذا يعني تعريف السياق لمساحة اسم يجب أن يكون ملف مصدر أو مساحة اسم أخر ولا يمكن أن يكون فئة، بنية، وحدة نمطية، واجهة أو إجراء. لمزيد من المعلومات، راجع سياقات الـتعريف و مستويات الوصول الافتراضية.

تعامل مساحات الاسم كما لو أنها تحتوي مستوى الوصول Public. يمكن الوصول إلى مساحة الاسم من التعليمات البرمجية من أي مكان في نفس المشروع, من مشاريع أخرى التي تشير إلى المشروع, من أي بناء تجميع من المشروع.

القواعد

  • السمات لا يمكنك تطبيق سمات لمساحة الاسم. سمة تساهم بمعلومات لبيانات تعريف التجميع, ذات الغير معنى بالنسبة لمصنفات المصدر مثل مساحات الاسم.

  • معدلات لا يمكن تطبيق أي معدّلات الوصول أو الإجراء, أو أي معدّلات أخرى, بمساحة الاسم. لأنها ليست نوع, هذه المعدّلات ليس لها معنى.

  • التداخل يمكن أن تتعريف مساحة اسم واحد في أخر. لا يوجد هناك حد لمستويات التداخل التي يمكنك التصريح عنها, ولكن تذكر عند تقوم التعليمات البرمجية الأخرى الوصول الى العناصر المعرفة في مساحة الاسم الأعمق, يجب عليها استخدام سلسلة تأهيل التي تحتوي على كل أسماء مساحة الاسم في هيكل تداخلي.

السلوك

  • مستوى الوصول. عناصر البرمجة المعرفة في مستوى مساحة الاسم, بمعنى في مساحة اسم ما لكن ليس ضمن أي عنصر آخر, الحصول على Public أو Friend الوصول. إذا لم يكن محدداً، فإن مستوى الوصول لعنصر مثل هذا يستخدم Friend افتراضياً. العناصر التي يمكنك تعريفها في مستوى مساحة الاسم تتضمن فئات, بنيات، وحدات نمطية، واجهات، التعدادات و المفوضين. لمزيد من المعلومات، راجع سياقات الـتعريف و مستويات الوصول الافتراضية.

  • تحويل برمجي. كل عناصر البرمجة يتم تعريفها بعد كشف Namespace التي تنتمي إلى مساحة الاسم ذلك. يستمر Visual Basic بالتحويل برمجياً العناصر الى آخر مساحة اسم تم تعريفه الى أن يواجه إما كشف End Namespace أو كشفNamespace آخر.

  • إضافة إلى مساحة الاسم. إذا تم بالفعل تعريف مساحة لسم, حتى خارج المشروع الخاص بك, يمكنك إضافة عناصر برمجة لها. للقيام بذلك، استخدم كشف Namespace لتوجيه Visual Basic لترجمة العناصر التالية الى مساحة الاسم ذلك.

    يحدد المثال التالي هيكل فئة قائمة عام الجديدة وإضافتها إلى مساحة الاسم System.Collections.Generic.

    Namespace System.Collections.Generic
        Class specialSortedList(Of T)
            Inherits List(Of T)
            ' Insert code to define the special generic list class.
        End Class
    End Namespace
    
  • مساحة اسم الجذر. كل أسماء مساحة الاسم في المشروع تستند على ‏‏مساحة اسم الجذر. يعيّن ‏‫Visual Studio اسم المشروع الخاص بك كمساحة الاسم جذر افتراضي ‏‏لكل التعليمات البرمجية في المشروع. على سبيل المثال، إذا تم تسمية المشروع Payroll، عناصر البرمجة الخاصة به تنتمي إلى مساحة الاسم Payroll. إذا قمت بتعريف Namespace funding، الاسم الكامل لمساحة الاسم ذلك Payroll.funding.

    إذا كنت ترغب في تحديد مساحة اسم موجودة في كشف Namespace, كما هو موضح في مثال فئة القائمة العامة، يمكنك تعيين مساحة اسم الجذر الخاصة بك إلى القيمة null. للقيام بذلك، انقر فوق خصائص المشروع من قائمة مشروع ثم امسح إدخال مساحة الاسم الجذر بحيث يكون المربع فارغاً. إذا لم تقم بذلك، في المثال فئة القائمة العامة, برنامج التحويل البرمجي لـ Visual Basic سيأخذ System.Collections.Generic كمساحة اسم جديد ضمن المشروع Payroll، مع الاسم الكامل Payroll.System.Collections.Generic.

    بشكل بديل، يمكن استخدام الكلمة الأساسية Global للإشارة إلى عناصر مساحات الأسماء المعرفة خارج المشروع. إن القيام بذلك يسمح لك بالاحتفاظ باسم المشروع الخاص بك كمساحة اسم الجذر. يقلل هذا من الدمج الغير مقصود لعناصر البرمجة الخاصة بك مع تلك مساحات الاسم الموجودة.

استكشاف الأخطاء وإصلاحها

  • أنواع غير معرّفة. ‏‏مساحة اسم الجذر يمكن أن يؤدي إلى تَسَلْسُل غير متوقع لأسماء مساحة الاسم. إذا قمت بعمل مرجع الى مساحات الاسم المعريفة خارج المشروع, فان برنامج التحويل البرمجي Visual Basic يمكنه أن يرْجَمَهم كـمساحات اسم متداخلة في مساحة اسم الجذر. في مثل هذه الحالة، لا يتعرف المحول البرمجي على أي من الأنواع التي تم تعريفها مسبقاً في مساحات الاسم الخارجية. لتجنب هذا, إما أن تقوم بتعيين ‏‏مساحة الاسم الجذر الخاص بك إلى قيمة خالية كما هو موضح في "‏‏مساحة اسم الجذر" أو استخدم الكلمة الأساسية Global للوصول إلى عناصر من مساحات الاسم خارجية.

مثال

يقوم المثال التالي بتعريف اثنين من مساحات الأسماء, أحدها متداخل في الأخرى.

Namespace n1
    Namespace n2
        Class a
            ' Insert class definition.
        End Class
    End Namespace
End Namespace

يقوم المثال التالي بتعريف عدة مساحات اسم متداخلة على خط واحد, وهي مكافئة للمثال السابق.

Namespace n1.n2
    Class a
        ' Insert class definition.
    End Class
End Namespace

المثال التالي يقوم بالوصول إلى الفئة المحددة في الأمثلة السابقة.

Dim instance As New n1.n2.a

راجع أيضًا:

المرجع

استيراد كشف (مساحة الاسم و نوع NET.)

المبادئ

أسماء العنصر المعرف

مساحات الأسماء في Visual Basic