كشف Vsual Basic) Enum)

يقوم بتعريف قائمة تعداد ويقوم بتعريف قيم أعضائها.

[ <attribute list> ] [ access modifier ]  [ Shadows ] 
Enum enumeration name [ As data type ] 
   member list
End Enum

الأجزاء

  • attribute list
    اختياري. قائمة سمات التي تنطبق لهذه قائمة التعداد. يجب عليك إحاطة قائمة سمة 543zhtf7(v=vs.100).md بأقواس زاوية ("<"و">").

  • access modifier
    اختياري. يحدد أي التعليمات البرمجية يمكنها الوصول إلى هذا التعداد. يمكن أن يكون أحد الخيارات التالية:

    يمكنك تحديد ProtectedFriend لسماح الوصول من التعليمات البرمجية الموجودة ضمن فئة قائمة التعداد، فئة مشتقة منها، أو نفس التجميع.

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

  • enumeration name
    مطلوبة. اسم قائمة التعداد. للحصول على معلومات حول الأسماء الصالحة راجع أسماء العنصر المعرف.

  • data type
    مطلوب إذا كان Option Strict هو On. نوع بيانات قائمة التعداد و كل أعضائها.

  • member list
    مطلوبة. قائمة بثوابت عضو تم تعريفها في هذا الكشف. تظهر عدة أعضاء على أسطر تعليمات برمجية المصدر الفردي.

    كل member يحتوي على بناء الجملة والأجزاء التالية: [<attribute list>] member name [ = initializer ]

    جزء

    الوصف

    member name

    مطلوبة. اسم هذا العضو.

    initializer

    اختياري. التعبير الذي يتم تقييمه في وقت التحويل برمجياً ويتم تعيينها لهذا العضو.

  • EndEnum
    ينهي مقطع Enum.

ملاحظات

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

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

كشف Enum يمكن أن تقوم بتعريف نوع البيانات لتعداد. يأخذ كل عضو نوع بيانات قائمة التعداد. يمكنك تحديد Byte, Integer, Long, SByte, Short, UInteger, ULong، أو UShort.

إذا لم تقم بتعيين initializer لعضو، Visual Basic يقوم بتهيئته إما إلى صفر (إذا كان الأول member في member list) ، أو إلى قيمة أكبر بواحد من تلك التي تسبق مباشرةً member.

فئة, وحدة نمطية, بنية وتعدادات عضو الواجهة يقتصر على الوصول العام. يمكنك ضبط مستويات الوصول الخاصة بهم بمعدلات الوصول. تعدادات عضو مساحة الاسم تقتصر على الوصول إلى صديق. يمكنك ضبط مستويات الوصول الخاصة بهم إلى العام, ولكن ليس لخاص أو محمي. للحصول على مزيد من المعلومات، راجع قواعد مستويات الوصول في Visual Basic.

  • تعريف السياق. قائمة التعداد الذي يتم تعريفه في مستوى الوحدة النمطية، خارج أي إجراء هو عضو قائمة تعداد ; هو عضو الفئة أو البنية أو الوحدة النمطية أو واجهة التي تقوم بتعريفه .

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

  • السمات يمكنك تطبيق سمات لقائمة تعداد بالكامل, ولكن ليس لأعضائه بشكل فردي. سمة تساهم بالمعلومات إلى بيانات تعريف التجميع.

  • معدلات افتراضياً، تكون كل التعدادات أنواع و الحقول الخاصة بها عبارة عن ثوابت. لذلكShared, Static، و الكلمات الأساسية ReadOnly يتعذر استخدامها عند تصريح قائمة تعداد أو أعضائها.

قواعد نوع البيانات

  • النوع الافتراضي. إذا لم تقم بتعيين data type من أجل التعداد ، يأخذ كل عضو نوع بيانات لـ initializer الخاصة به. إذا حددت كلا من data type و initializer، نوع البيانات من initializer يجب أن يكون قابل للتحويل إلى data type. إذا لم يكن data type أو initializer موجود‬، تقتصر نوع البيانات على Integer.

  • التهيئة. العبارة Enum يمكنها تهيئة محتويات الأعضاء المحددة في member list. استخدام initializer لتوفير تعبير لتعيينة للعضو.

    التعبير المتوفر في كل initializer يمكن أن يضم أية تركيبة من القيم الحرفية، ثوابت أخرى المعرّفة مسبقاً وأعضاء التعداد بالفعل المعرّفة مسبقا, بما في ذلك العضو السابق لهذا التعداد. يمكنك استخدام عامل حسابي و منطقي ليجمع مثل هذه العناصر.

    لا يمكنك استخدام متغيرات أو دالات في initializer. ومع ذلك، يمكنك استخدام الكلمات الأساسية التحويل مثل CByte و CShort. يمكنك أيضاً استخدام AscW إذا كنت يتصل به ثابت String أو Char وسيطة ، حيث يمكن تقييمه في وقت يحول برمجياً.

السلوك

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

  • النطاق. عضو التعدادات إليها من أي مكان داخل الفئة الخاصة بهم أو بنية, وحدة نمطية أو واجهة. تعدادات عضو مساحة الاسم يمكن الوصول إليها من أية تعليمات برمجية داخل مساحة اسم تلك.

  • التأهيل. التعليمات البرمجية خارج الفئة، البنية أو الوحدة النمطية يجب أن تُأهل اسم قائمة تعداد العضو مع اسم الفئة أو البنية أو الوحدة النمطية.

  • قيم غير صالحة. إذا تجاوزت قيمة عضو النطاق المسموح به لنوع البيانات الأساسية, أو في حالة تهيّئة أي عضو إلى أقصى قيمة مسموح بها بواسطة نوع البيانات الأساسية، فان المحول البرمجي يقوم بالابلاغ عن خطأ.

متغيرات قائمة التعداد متغيرات تم تعريفها لتكون من نوع Enum. تصريح متغير بهذه الطريقة يساعدك في التحكم بالقيم التي تقوم بالتعيين إليها. ومع ذلك، يمكنك الاستمرار بتعيين قيمة ليست عضو قائمة تعداد, و توفير نوع البيانات الخاصة بها يمكن تحويلها إلى نوع بيانات قائمة التعداد. وهذا مفيد عندما يكون التعداد حقل علامة وتعيين تركيبة علامات إلى متغير التعداد. يوضح المثال التالي تعيين لعدة علامات لمتغير قائمة التعداد.

Enum filePermissions
    create = 1
    read = 2
    write = 4
    delete = 8
End Enum
Dim file1Perm As filePermissions
file1Perm = filePermissions.create Or filePermissions.read

يجب أن تأهل كل مرجع إلى عضو قائمة التعداد, إما مع اسم متغير التعداد أو مع اسم قائمة التعداد نفسه. على سبيل المثال، في المثال السابق، يمكنك الإشارة إلى العضو الأول كـ filePermissions.create، ولكن ليس كـ create.

مثال

يستخدم المثال التالي كشف Enum لتعريف مجموعة مرتبطة من القيم الثابتة المسماه . في هذه الحالة، تكون القيم ألوان قد تختارها لتصميم نماذج إدخال البيانات لقاعدة بيانات.

Public Enum InterfaceColors
    MistyRose = &HE1E4FF&
    SlateGray = &H908070&
    DodgerBlue = &HFF901E&
    DeepSkyBlue = &HFFBF00&
    SpringGreen = &H7FFF00&
    ForestGreen = &H228B22&
    Goldenrod = &H20A5DA&
    Firebrick = &H2222B2&
End Enum

يظهر المثال التالي القيم التي تتضمن كلا الأرقام الموجبة والسالبة.

Enum SecurityLevel
    IllegalEntry = -1
    MinimumSecurity = 0
    MaximumSecurity = 1
End Enum

راجع أيضًا:

المرجع

عبارة const في (Visual Basic)

عبارة Vsual Basic) Dim)

دوال تحويل النوع

Asc

AscW

المبادئ

تحويلات ضمنية و صريحة

ثوابت و قوائم التعداد في (Visual Basic)

موارد أخرى

ثوابت و قوائم التعداد في Visual Basic