假设:
public T Get<T>() { ... }
T
关闭IEnumerable<XYZ>
,我如何确定XYZ
类型?
我没有变量可以开始。
答案 0 :(得分:2)
您可以使用typeof(T)
,这样可以获得正确的类型信息。
答案 1 :(得分:2)
您可以使用LINQ: Building an IQueryable Provider - Part I中的TypeSystem.GetElementType方法获取typeof(XYZ)
时的typeof(IEnumerable<XYZ>)
:
var elementType = TypeSystem.GetElementType(typeof(IEnumerable<XYZ>));
// elementType == typeof(XYZ)
在您的方法中,您可以使用typeof(T)
获取代表T
的{{3}}对象。
public T Get<T>()
{
var elementType = TypeSystem.GetElementType(typeof(T));
...
}