鉴于:
public T Get<T>() { ... }
在哪里T
关闭IEnumerable<XYZ>
,我如何确定XYZ
类型?
我没有变量可以开始。
鉴于:
public T Get<T>() { ... }
在哪里T
关闭IEnumerable<XYZ>
,我如何确定XYZ
类型?
我没有变量可以开始。
您可以使用typeof(T)
,这将为您提供正确的类型信息。
您可以使用LINQ 中的 TypeSystem.GetElementType 方法:Building an IQueryable Provider - Part I to get typeof(XYZ)
when given typeof(IEnumerable<XYZ>)
:
var elementType = TypeSystem.GetElementType(typeof(IEnumerable<XYZ>));
// elementType == typeof(XYZ)
在您的方法中,您可以使用typeof(T)
来获取表示T
.
public T Get<T>()
{
var elementType = TypeSystem.GetElementType(typeof(T));
...
}