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

تحدد معلمات يتوقعها الإجراء عندما يتم استدعاؤه. يتم فصل المتغيرات المتعددة بفواصل. التالي هو بناء الجملة من أجل نوع معلمة واحد.

[ <attributelist> ] [ Optional ] [{ ByVal | ByRef }] [ ParamArray ] 
parametername[( )] [ As parametertype ] [ = defaultvalue ]

الأجزاء

  • attributelist
    اختياري. قائمة السمات التي تنطبق لهذه المعلمة. يجب أن تحيط قائمة السمة بأقواس زاوية ("<"و">").

  • Optional
    اختياري. تحدد أن هذه معلمة غير مطلوبة عندما يتم استدعاء إجراء.

  • ByVal
    اختياري. تعيّن أنه لا يمكن استبدال إجراء أو لإعادة تعيين متغير عنصر وسيطة المقابلة في استدعاء تعليمات برمجية المصدر.

  • ByRef
    اختياري. تعيّن أن الإجراء يمكنه تعديل عنصر المتغير الأساسي في استدعاء التعليمات البرمجية بنفس الطريقة التي يمكن استدعاء التعليمات البرمجية بنفسها.

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

  • parametername
    مطلوبة. الاسم المحلي متغير تمثل معلمة.

  • parametertype
    مطلوب إذا كان Option Strict هو On. الاسم المحلي متغير تمثل معلمة.

  • defaultvalue
    المطلوبةOptional معلمات. أي تعبير ثابت أو ثابت يتم تقييمها إلى نوع البيانات معلمة. إذا كان النوع Object، أو فئة واجهة ، الصفيف أو بنية الافتراضي فقط يمكن أن تكون قيمة Nothing.

ملاحظات

محاطاً بأقواس معلمات وتكون مفصولة بفواصل. يمكن أن يتم تعريف معلمة مع أي نوع البيانات. إذا لم تقم بتعيين parametertype، الافتراضي إلى Object.

عند تستدعي التعليمات البرمجية المستدعية إجراء, يمرر وسيطة لكل معلمة مطلوبة. لمزيد من المعلومات، راجع الفروق بين معلمات و وسيطات.

الوسيطة يقوم بتمرير التعليمات البرمجية المستدعية لكل معلمة مؤشر إلى عنصر المصدر في استدعاء تعليمات برمجية. إذا كان هذا العنصر ليس متغير (ثابت, قيمة حرفية, التعداد أو تعبير) ، فمن المستحيل أن أية تعليمات برمجية تقوم بتغييره. إذا كان العنصر متغير (المُعلَن متغير أو حقل ، خاصية, عنصر صفيف ، أو عنصر بنية) ، التعليمات البرمجية المستدعية يمكنها تغييره. لمزيد من المعلومات، راجع الفروق بين الوسيطات القابلة للتعديل و الغير قابلة للتعديل.

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

القواعد

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

  • المعلمات الاختيارية إذا كنت تستخدم Optional معدّل على معلمة، كل المعلمات التالية في قائمة كما يجب أن يكون اختياري كما تم تعريفها باستخدام معدّل Optional.

    تعريف كل معلمة اختيارية يجب ان توفر جملة defaultvalue.

    لمزيد من المعلومات، راجع المعلمات الإختيارية.

  • معلمة الصفيف. يجب تحديد ByVal للحصول على معلمة ParamArray .

    لا يمكن استخدام كلا Optional و ParamArray في نفس معلمة القائمة.

    لمزيد من المعلومات، راجع صفائف المعلمة..

  • آلية التمرير. آلية الافتراضية كل وسيطةByVal، مما يعني إجراء لا يمكن تغيير متغير الأساسي عنصر. على الرغم من ذلك، إذا كان العنصر نوع المرجع ، إجراء يمكن تعديل محتويات أو الأعضاء كائن الأساسية على الرغم من أنه لا يمكن استبدال أو لإعادة تعيين الكائن نفسه.

  • اسم المُعامِل إذا كان نوع بيانات معلمة صفيف ، اتبع parametername مباشرةً بواسطة الأقواس. للحصول على مزيد من المعلومات حول أسماء نوع المعلمات راجع أسماء العنصر المعرف.

مثال

يظهر المثال التالي Function إجراء الذي يعرّف معلمتين من معلمات.

Public Function howMany(ByVal ch As Char, ByVal st As String) As Integer
End Function
Dim howManyA As Integer = howMany("a"c, "How many a's in this string?")

راجع أيضًا:

المهام

كيفية القيام بما يلي: فصل و دمج عبارات في التعليمات البرمجية

المرجع

كشف دالة (Visual Basic)

عبارة Vsual Basic) Sub)

عبارة التعريف

كشف بنية

كشف الخيار الصارمِ

دعم Visual Basic و Visual C#‎

DllImportAttribute