我认为这是一个简单的问题,但我一直在搜索,似乎无法轻易找到答案。
如果你有
var list = List<int>();
... fill list ...
并且您希望在列表中获取泛型类型,我意识到您只需键入:
var t = list.FirstOrDefault().GetType();
是否有另一种方法可以通过列表来完成此操作,而不是引用枚举?
原因是,我有System.Data.Linq.Table<TABLE1>
,我想要做的是从中获取TABLE1
的类型。
这样:
var table = new DataContext().TABLE1s; // this is Table<TABLE1>
var tableType = table.GetType().SomeMethod();
// i want tableType to equal TABLE1.GetType()
答案 0 :(得分:3)
尝试此操作以获取表的实体类型
var tableType =table.GetType().GetGenericArguments()[0];
答案 1 :(得分:1)
Type GetType<T>(Table<T> table)
{
return typeof(T);
}
var table = new DataContext().TABLE1s; // this is Table<TABLE1>
var tableType = GetType(table);