• 0

كيف أحصل على نوع T الحالي على <List<T بـ لغة #C ؟

لديّ تطيق على #C أريد معرفة T الحالي الموجود على <List<T، وذلك عند تصفح List عن طريق حلقات التكرار؟ كيف ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

في لغة #C وعند تعريف مصفوفة من نوع<>List  فإنه بالأساس نقوم بتعريف نوع محتوى المصفوفة، عكس array والتي من الممكن أن تضم العديد من أصناف المتغيرات، لكن مع ذلك يمكننا تحديد نوع المصفوفة ولأي نوع من المتغيرات قد عُرّفت عن طريق :[myList.GetType().GetGenericArguments()[0

وبشكل مفصل يمكننا أيضا معرفة نوع محتوى المصفوفة List بالشكل التالي:

var objectType = myList.GetType();
if (!objectType.IsGenericType() ||
    objectType.GetGenericTypeDefinition() != typeof(List<>))
{
    throw new InvalidOperationException(
        "  List<T> المصفوفة لاتتوفر على أي عنصر ");
}
var elementType = objectType.GetGenericArguments()[0];

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن