سؤال

Dim x = GetType(List(Of )) 'valid statement
Dim list As New List(Of String)

الآن أريد أن أرى ما إذا كان list هو List(Of T) عامل:

Dim isList = TypeOf list Is List(Of )

في السطر الأخير ، أحصل على خطأ في الترجمة: "اكتب متوقع".

هل هناك أي أداء رخيص TypeOf بديل المشغل للأشكال؟

هل كانت مفيدة؟

المحلول

سيكون عليك القيام بذلك مع التفكير:

Dim type = list.[GetType]()
Dim isList = type.IsGenericType AndAlso
    type.GetGenericTypeDefinition() = GetType(List(Of ))

نصائح أخرى

لسوء الحظ، هذا غير ممكن.

تحتاج إلى الاتصال GetType() وتحقق IsGenericType و GetGenericTypeDefinition.

انظر مدونة Hanselman: http://www.hanselman.com/blog/thevbequivalenttoctypeofkeyword.aspx

gettype (t) - إنه بسيط :).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top