كيفية القيام بما يلي: زيادة تحميل إجراء الذي يأخذ المعلمات الاختيارية

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

معلمة اختيارية واحدة

لـزيادة تحميل إجراء الذي يأخذ معلمة اختيارية واحدة

  1. اكتب Sub أو Function كشف تعريف الذي تتضمن المعلمة الاختيارية في قائمة المعلمات. لا تستخدم الكلمة الأساسية Optional في هذا الإصدار المحمّل فوق طاقته.

  2. تسبقSub أو Function الكلمة الأساسية مع الزوائد (Visual Basic) الكلمة الأساسية.

  3. اكتب التعليمة البرمجية للإجراء الذي يجب تنفيذه عندما توفر التعليمات البرمجية المتصلة الوسيطة الاختيارية.

  4. قم بانهاء الإجراء مع End Sub أو End Function الكشف بالشكل المناسب.

  5. قم بـكتابة عبارة تعريف ثانية مماثلة للتعريف الأول إلا أنه لا يتضمن معلمة اختيارية في قائمة المعلمات.

  6. اكتب التعليمة البرمجية للإجراء الذي يجب تنفيذه عندما لا توفر التعليمات البرمجية المتصلة الوسيطة الاختيارية. قم بانهاء الإجراء مع End Sub أو End Function الكشف بالشكل المناسب.

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

    Sub q(ByVal b As Byte, Optional ByVal j As Long = 6)
    
    ' The preceding definition is equivalent to the following two overloads.
    ' Overloads Sub q(ByVal b As Byte)
    ' Overloads Sub q(ByVal b As Byte, ByVal j As Long)
    
    ' Therefore, the following overload is not valid because the signature is already in use.
    ' Overloads Sub q(ByVal c As Byte, ByVal k As Long)
    ' The following overload uses a different signature and is valid.
    Overloads Sub q(ByVal b As Byte, ByVal j As Long, ByVal s As Single)
    

معلمات اختيارية متعددة

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

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

لـزيادة تحميل إجراء الذي يأخذ أكثر من معلمة اختيارية واحدة

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

  2. لكل تركيبة مقبولة للوسائط الاختيارية التي تم توفيرها قم بكتابة Sub أو Function كشف التعريف الذي يعرف قائمة المعلمة المقابلة. لا تستخدم Optional الكلمة الأساسية.

  3. في كل تعريف ضع قبل Sub أو Function الكلمة الأساسية مع الزوائد (Visual Basic) الكلمة الأساسية.

  4. مع اتباع كل تعريف قم بكتابة التعليمات البرمجية الإجراء التي يجب تنفيذها عندما توفر التعليمات البرمجية المتصلة قائمة وسيطة مقابلة لتعريف قائمة المعلمات.

  5. قم بانهاء كل إجراء مع End Sub أو End Function الكشف بالشكل المناسب.

راجع أيضًا:

المهام

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

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

كيفية القيام بما يلي: إستدعاء إجراء محمّل تحميلا زائدا‬ً

كيفية القيام بما يلي: التحميل الزائد لإجراء الذي يأخذ عدد لا نهائي من المعلمات

المبادئ

الـإجراءات في Visual Basic

معلمات إجراء و وسيطات

المعلمات الإختيارية

صفائف المعلمة.

زيادة تحميل الإجراء

دقة التحميل الزائد