مشغل نوع عام؟
-
25-09-2019 - |
سؤال
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) - إنه بسيط :).
لا تنتمي إلى StackOverflow