التعريف الضمني و الصريح

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

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

تبديل تعريف صريح. يمكنك تعيين مفتاح تبديل التعريف الصريح On أو Off في أي من الطرق التالية:

  • تعيين خاصية مشروع المناسب في بيئة التطوير المتكاملة (IDE). انقر فوقخصائص <اسم البرنامج> من القائمة مشروع ثم انقر فوق علامة تبويب يحول برمجياً. يمكنك تعيين قيم افتراضية ل خيار الصريح, الخيار الصارم, و خيار المقارنة.

  • قم بتحديد خيار برنامج التحويل البرمجي من سطر الأوامر optionexplicit/

  • قم بتتضمن عبارة خيار عبارة Visual Basic) Explicit) في بداية التعليمة البرمجية الخاصة بك

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

ميزة الأداء الاعدادات Option Explicit الى On تم فرض للاستخراج نوع يجب إجراؤها في وقت يحول برمجياً بدلاً من الميزة تشغيل الوقت. يؤدي ذلك إلى تحسين الأداء.

تعريف الضمني

إذا قمت بتعيين Option Explicit الى Off، ضمنيًا يوجد إمكانية تعريف متغير ببساطة باستخدام في تعليمات برمجية. يعيّن المحول البرمجينوع البيانات كائن إلى كل المتغيرات المُعلَنة ضمنياً. على الرغم من ذلك، يتم تطبيق الخاص بك أكثر فعالية إذا التصريح بكافة المتغيرات بوضوح وباستخدام محدد نوع البيانات. وهذا يقلل تعارض التسمية و الأخطاء الإملائية. يسمح أيضاً برنامج التحويل البرمجي للعبارة عن احتمال أخطاء وقت تشغيل مثل تعيين Integer إلى Short.

إخطاء المحتملة

متغيرات جديدة غير مقصودة

يمكنك كتابة الإجراء الذي دون تعريف متغير محلي. فيما يلي مثال يوضّح ذلك.

Function safeSqrt(num)
' Make sure num is positive for square root.
    tempVal = Math.Abs(num)
    Return Math.Sqrt(tempVal)
End Function

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

Function safeSqrt(num)
' Make sure num is positive for square root.
    tempVal = Math.Abs(num)
    Return Math.Sqrt(temVal)
End Function

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

غير مقصودة مرجع عنصر موجود

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

يمكنك تجنب المشكلات مع متغيرات misnamed باستخدام تعريف صريحة.

تعريف صريح

واجه تعريف صريحة بقاء سارية المفعول حتى الملف المصدر التي تحتوي على safeSqrt إجراء في المثال السابق Visual Basic تم التعرف عليه tempVal و temVal متغيرات غير معروفة أو الأخطاء التي تم إنشاؤها لكل منهما منها. ونتيجة لذلك، تقوم ثم بوضوح بتعريفه tempVal. فيما يلي مثال يوضّح ذلك.

Function safeSqrt(ByVal num As Double) As Double
' Make sure num is positive for square root.
    Dim tempVal As Double = Math.Abs(num)
    Return Math.Sqrt(temVal)
End Function

مع ذلك مراجعة تعليمات برمجية ، هل فهم المشكلة مباشرةً لأن Visual Basic عرض رسالة إعلام بالخطأ عن مكتوبة بشكل غير صحيح temVal. ولأن يساعدك تعريف صريحة التقاط هذه الأنواع من الأخطاء, فمن المستحسن استخدامها مع الكل تعليمات برمجية.

ملاحظة

العبارة Option Explicit يعمل على أساس بواسطة ملف. يجب أن يكون في بداية كل مصدر تعليمات برمجية الملف الذي تريد التحكم فرض تعريف متغير صريحة.

راجع أيضًا:

المهام

كيفية القيام بما يلي: تعديل خصائص المشروع وإعدادات التكوين

المرجع

خلاصة نوع بيانات (Visual Basic)

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

المبادئ

البرمجة اللا نوعية في Visual Basic

تدقيق النوع في Visual Basic

كائن مثل نوع البيانات العالمي

كفاءة استخدام أنواع البيانات

المتغيرات في Visual Basic

اصطلاحات تسمية Visual Basic