考慮:如何獲得IEnumerable的T <T>類型參數w/o變量?
public T Get<T>() { ... }
其中T
被關閉IEnumerable<XYZ>
,我怎麼能確定XYZ
類型?
我沒有變數開始。
考慮:如何獲得IEnumerable的T <T>類型參數w/o變量?
public T Get<T>() { ... }
其中T
被關閉IEnumerable<XYZ>
,我怎麼能確定XYZ
類型?
我沒有變數開始。
可以使用TypeSystem.GetElementType方法從LINQ: Building an IQueryable Provider - Part I得到typeof(XYZ)
給出typeof(IEnumerable<XYZ>)
時:
var elementType = TypeSystem.GetElementType(typeof(IEnumerable<XYZ>));
// elementType == typeof(XYZ)
在你的方法,你可以使用typeof(T)
得到Type對象,表示T
。
public T Get<T>()
{
var elementType = TypeSystem.GetElementType(typeof(T));
...
}
您可以使用typeof(T)
,這將爲您提供正確的類型信息。
你的意思是:'TReturn = get()方法'TReturn總是'IEnumberable',你需要找到'XYZ'的類型? –
gideon
您的意思是:'class Foo:IEnumerable {public T獲取(){...}其中T:IEnumerable '? –
flq