簡體   English   中英

如何比較泛型類型?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM