كشف الخاصية

يقوم بتعريف اسم الخاصية و إجراءات الخاصية المستخدمة إلى لتخزين و استرداد قيمة الخاصية.

[ <attributelist> ] [ Default ] [ accessmodifier ] 
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ] 
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
    [ <attributelist> ] [ accessmodifier ] Get
        [ statements ]
    End Get
    [ <attributelist> ] [ accessmodifier ] Set ( ByVal value As returntype [, parameterlist ] )
        [ statements ]
    End Set
End Property
- or -
[ <attributelist> ] [ Default ] [ accessmodifier ] 
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ] 
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]

الأجزاء

  • attributelist
    اختياري. قائمة السمات التي يمكن تطبيقها إلى هذه خاصية أو Get أو إجراء Set. راجع قائمة سمة.

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

  • accessmodifier
    اختياري على عبارة Property و على الأكثر أحد إجراءات Get و عبارات Set. يمكن أن يكون أحد الخيارات التالية:

    انظر مستويات الوصول في Visual Basic

  • propertymodifiers
    اختياري. يمكن أن يكون أحد الخيارات التالية:

  • Shared
    اختياري. انظر (Visual Basic) المشترك

  • Shadows
    اختياري. انظر الظلال (Visual Basic)

  • ReadOnly
    اختياري. انظر للقراءة فقط (Visual Basic)

  • WriteOnly
    اختياري. انظر Visual Basic) WriteOnly)

  • name
    مطلوبة. اسم الخاصية انظر أسماء العنصر المعرف

  • parameterlist
    اختياري. قائمة أسماء المتغيرات المحلية تمثل معلمات هذه خاصية، و المعلمات الإضافية الممكنة من الإجراء Set . انظر قائمة المعلمة

  • returntype
    مطلوب إذا كان Option Strict هو On. نوع البيانات من القيمة التي تم إرجاعها بواسطة هذه خاصية.

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

  • implementslist
    مطلوب إذا كان Implements يتم توفيره. قائمة خصائص يتم تطبيقها.

    implementedproperty [ , implementedproperty ... ]

    كل implementedproperty يحتوي على بناء الجملة والأجزاء التالية:

    interface.definedname

    جزء

    الوصف

    interface

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

    definedname

    مطلوبة. الاسم الذي تم عرّفت به الخاصية interface.

  • Get
    اختياري. مطلوبة إذا تم تمييز خاصية WriteOnly. يبدأ خاصية إجراء Get التي تستخدم لتقوم بإرجاع قيمة الخاصية.

  • statements
    اختياري. كتلة من عبارات إلى تنفذ داخل Get أو إجراء Set.

  • End Get
    تنهي خاصية إجراء Get .

  • Set
    اختياري. مطلوبة إذا تم تمييز خاصية ReadOnly. يبدأ خاصية إجراء Set التي تستخدم لتقوم بتخزين قيمة الخاصية.

  • End Set
    تنهي خاصية إجراء Set .

  • End Property
    ينهي تعريف هذه الخاصية.

ملاحظات

عبارة Property يقدم تعريف خاصية. يمكن أن خاصية الإجراء Get (للقراءة فقط) ، الإجراء Set (write فقط) أو كلا (القراءة / الكتابة). يمكنك حذف Get و إجراء Set عند استخدام خاصية تنفيذ تلقائي. لمزيد من المعلومات، راجع خصائص التنفيذ التلقائي في (Visual Basic).

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

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

يقوم Visual Basic بتمرير معلمة إلى إجراء Set أثناء تعيينات الخاصية. إذا لم توفر معلمة لSet، تستخدم بيئة التطوير المتكاملة (IDE) معلم ضمني باسم value. تتضمن المعلمة القيمة بحيث يتم تعيينه إلى الخاصية. يمكنك عادةً تخزين هذه القيمة في متغير محلي خاص وإعادته كلما يتم استدعاء إجراء Get .

القواعد

  • مستويات وصول مختلطة. إذا كنت تقوم بتعريف خاصية القراءة / الكتابة يمكنك بشكل اختياري تحديد مستوى مختلف لأحد Get أو إجراء Set ولكن ليس كلاهما. في حالة القيام بهذا مستوى وصول الإجراء يجب أن يكون أكثر تقييداً من مستوى وصول خاصية. على سبيل المثال، إذا تم التصريح عن خاصية Friend، تقوم بتعريف إجراء Set Private، ولكن ليس Public.

    إذا كنت تقوم بتعريف الخاصية ReadOnly أو WriteOnly (إجراء خاصية مفردةGet أو Set، على الترتيب) يمثل كل خاصية. يتعذر تعريف مستوى وصول مختلف مثل هذا إجراء، بسبب تعيين مستويين الوصول للخاصية.

  • نوع الإرجاعكشف الـ Property يمكن أن يعرف نوع البيانات للقيمة التي يرجعها. يمكنك تحديد أي نوع بيانات أو اسم لقائمة تعداد ، فئة، بنية أو واجهة.

    إذا لم تعين رمز التبديل ‎returntype/t‏:Object

  • التنفيذ. إذا كانت هذه خاصية تستخدم Implements يجب أن تحتوي كلمة أساسية أو يحتوي على الفئة أو البنية Implements العبارة التالية مباشرة الخاصة به Class أو Structure كشف. عبارة الـ Implements يجب أن يضم كل واجهة محددة في implementslist. ومع ذلك، الاسم الذي يعرّف واجهة Property (في definedname) لم يكن إلى يكون هو نفسه اسم خاصية (in name).

السلوك

  • الخروج من إجراء الخاصية. عند Get أو Set إرجاع إجراء استدعاء تعليمات برمجية ، يستمر التنفيذ مع عبارة التالية التي استدعاء.

    عبارات Exit Property و Return تسبب خروج فوري من إجراء خاصية. أي عدد من عبارات Exit Property و Return يمكن أن تظهر أي مكان في الإجراء، كما يمكن خلط عبارات Exit Property و Return .

  • قيمة الإرجاع. لإرجاع قيمة من Get إجراء، يمكنك إما تعيين القيمة إلى اسم الخاصية أو تضمينه في Return العبارة. يعين المثال التالي القيمة المرجعة بخاصية تسمية quoteForTheDay ثم يستخدم Exit Property عبارة للرجوع.

    Private quoteValue As String = "No quote assigned yet."
    
    ReadOnly Property quoteForTheDay() As String
        Get
            quoteForTheDay = quoteValue
            Exit Property
        End Get
    End Property
    

    إذا كنت تستخدم Exit Property بدون تعيين قيمة إلى name، Get إجراء إرجاع قيمة افتراضية لـ "نوع بيانات خاصية.

    The Return تعين العبارة في نفس الوقت Get إجراء يرجع القيمة وإنهاء الإجراء. يـوضح المثال التالي ذلك.

    Private quoteValue As String = "No quote assigned yet."
    
    ReadOnly Property quoteForTheDay() As String
        Get
            Return quoteValue
        End Get
    End Property
    

مثال

يقوم المثال التالي بتعريف خاصية في فئة.

Class Class1
    ' Define a local variable to store the property value.
    Private propertyValue As String
    ' Define the property.
    Public Property prop1() As String
        Get
            ' The Get property procedure is called when the value
            ' of a property is retrieved.
            Return propertyValue
        End Get
        Set(ByVal value As String)
            ' The Set property procedure is called when the value 
            ' of a property is modified.  The value to be assigned
            ' is passed in the argument to Set.
            propertyValue = value
        End Set
    End Property
End Class

راجع أيضًا:

المرجع

الحصول على كشف

كشف Vsual Basic) Set)

قائمة المعلمة

الافتراضي (Visual Basic)

المبادئ

خصائص التنفيذ التلقائي في (Visual Basic)

موارد أخرى

كائنات و فئات في Visual Basic