البديل عن كلمة default الخاصة بال Generics في الفيجوال بيسك

كلمة default في السي شارب تستخدم في الGenerics  حيث نستخدمها عندما لا نعرف نوع المتغير ونريد إسناد قيمة فارغة له
مثلا المتغير هل هو متغير مرجعي Reference Type أو ذو قيمة Value Type
فمثلا المتغير ذا القيمة كالمتغيرات الرقمية عندما تكون فارغة يجب أن تحتوى على القيمة صفر والمتغير المنطقي Boolean  يجب أن يكون False ولو ذهبنا أعمق من ذلك فالتركيب Structure يجب أن تكون كل قيمة به صفر أو القيمة الافتراضية لكل المتغيرات المعرفة بداخله،
أما النوع ذا المرجع فالقيمة ستكون  Nothing .

الآن في ال Generics لنفترض لدينا النوع العام T عندما نريد إعادة قيمة فارغة للنوع مثلا لنفترض أنه متغير نصي String إنها ستكون Nothing  ولو كان متغير رقمي فإن القيمة ستكون 0 وهكذا ، ولكن كيف سنميز ، وهل سنقوم بعملية فحص للنوع !! ، هذا ليس منطقي لأننا فقدنا وظيفة ال Generics  الأساسية .
في السي شارب سيحدث خطأ لو أرجعت القيمة null لمتغير ذو قيمة ، او العكس ، ولهذا تطلب السي شارب وجود الكلمة default(T) ولكن في الفيجوال بيسك لا داعي لذلك ، فأنت عندما تسند القيمة Nothing للمتغيرات ذات القيمة فإنها ستأخذ قيمتها الافتراضية دائما وهي للمتغيرات الرقمية 0 والمتغير المنطقي False  وهكذا

الحل مرة أخرى بعدم استخدما الكلمة default وإنما بإرجاع القيمة  Nothing مباشرة

المثال كالتالي في السي شارب

 return default(T);

وهنا البديل في الفيجوال بيسك دوت نت

  Return Nothing


لهذا سأبقى أحب وأفضل الفيجوال بيسك دائما وأبدا .. لا تعقيد على الإطلاق

About the author

خليل سليم

Leave a Comment

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.