السلام على من اتبع الهدى ورحمة الله وبركاته
لقد وجدت هذا الموضوع من الأهمية بمكان فأردت أن أفيد به المسلمين لأنه أفادني كثيرا
عندما يوجد لدينا متغير من نوع object ولا نعلم هو من أي نوع هل هو Int32 أو String أو Decimal
وذلك عند إستخدام أسلوب التحويل Cast
فمثلا إذا كان لدينا متغير من نوع Object ونريد أن نقوم بتحويلة إلى نوع Decimal ولا نعلم هل الموجود بداخل Object
من نوع Decimal أيضا أم لا فغذا كان من نوع غير Decimal فسوف يحدث خطأ في هذا الكود التالي
object y = "Ahmed"; Decimal x = Convert.ToDecimal(y);
ولذلك فهذا الكود يقوم بمعرفة نوع Object قبل تحويلة فإذا كان من نفس النوع المراد تحويلة نقوم بعملية التحويل
وإن لم يكن من نفس النوع لا يقوم بتحويلة لكي لا يحدث خطأ
object test;
switch( Type.GetTypeCode(test.GetType()) )
{
case TypeCode.Int32:
break;
case TypeCode.String:
break;
case TypeCode.Decimal:
Decimal x = Convert.ToDecimal(test);
break;
}وطبعا يمكن الإستفادة من تواجد Int32 أو String ولكن أردت التنوية فقط عن الفكرة
