C# 如何获得IEnumerable的T<;T>;类型参数不带变量?
鉴于:C# 如何获得IEnumerable的T<;T>;类型参数不带变量?,c#,generics,type-parameter,C#,Generics,Type Parameter,鉴于: public T Get(){…} 如果T关闭到IEnumerable,如何确定XYZ类型 我没有变量可以开始。你可以使用typeof(T),这将为你提供正确的类型信息。你可以使用typeof(T),这将为你提供正确的类型信息。你可以使用TypeSystem.GetElementType方法从获取typeof(XYZ)当给定typeof(IEnumerable): 当给定typeof(IEnumerable)时,可以使用中的TypeSystem.GetElementType方法获取ty
public T Get(){…}
如果T
关闭到IEnumerable
,如何确定XYZ
类型
我没有变量可以开始。你可以使用
typeof(T)
,这将为你提供正确的类型信息。你可以使用typeof(T)
,这将为你提供正确的类型信息。你可以使用TypeSystem.GetElementType方法从获取typeof(XYZ)
当给定typeof(IEnumerable)
:
当给定
typeof(IEnumerable)
时,可以使用中的TypeSystem.GetElementType方法获取typeof(XYZ)
:
你的意思是:
TReturn=Get()
TReturn总是IEnumerable
,你需要找到XYZ
的类型?你的意思是:class Foo:IEnumerable{public T Get(){…}其中T:IEnumerable
?你的意思是:TReturn=Get()
TReturn总是IEnumerable
,您需要找到XYZ
的类型吗?您的意思是:类Foo:IEnumerable{public T Get(){…}其中T:IEnumerable
?
public T Get<T>() { ... }
var elementType = TypeSystem.GetElementType(typeof(IEnumerable<XYZ>));
// elementType == typeof(XYZ)
public T Get<T>()
{
var elementType = TypeSystem.GetElementType(typeof(T));
...
}