[英]How to compare generic types?
我有一個類具有List<float>
, List<int>
等類型的屬性。現在我通過反射查詢該類的屬性,以便獲得PropertyInfo
的列表。
我想過濾List<>
類型的類型。 但比較
propertyInfo.PropertyType == typeof(List<>)
失敗。
我可以通過比較名稱來解決這個問題,即以下比較工作:
propertyInfo.PropertyType.Name == typeof(List<>).Name
我認為應該有一種更好的方法來比較Generic類型。 有線索嗎?
您可以使用:
Type type = propertyInfo.PropertyType;
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(List<>))
{
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.