1
我想比較兩個Type
對象是否相等,忽略它們的類型參數。比較非通用類型
例如,比較IEnumerable<int>
和IEnumerable<string>
回報假,這是有道理的,但我只是想給IEnumerable
元素進行比較。
我該怎麼做Type
或TypeInfo
?
我想比較兩個Type
對象是否相等,忽略它們的類型參數。比較非通用類型
例如,比較IEnumerable<int>
和IEnumerable<string>
回報假,這是有道理的,但我只是想給IEnumerable
元素進行比較。
我該怎麼做Type
或TypeInfo
?
您可以撥打GetType().GetGenericTypeDefinition();
以獲取通用基本類型。
如果您需要比較可能或不可泛型的任意類型,請在調用'GetGenericTypeDefinition()'之前檢查'GetType()。IsGenericType',因爲它會引發非泛型類型。 – 2014-09-18 19:38:26
只是一個術語說明,爲了更輕鬆地與C#社區連接:我們稱「reified」類型爲「closed」,非reified類型爲「open」。見ECMA-334 25.5.2。 – codekaizen 2014-09-18 20:08:39