Как получить аргумент типа универсального типа? - PullRequest
2 голосов
/ 31 марта 2010

Я думаю, что это простой вопрос, но я искал вокруг и, кажется, не могу найти ответ легко.

если у вас есть

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()

Ответы [ 2 ]

3 голосов
/ 31 марта 2010

попробуйте это, чтобы получить тип сущности таблицы

var tableType =table.GetType().GetGenericArguments()[0];
1 голос
/ 31 марта 2010
Type  GetType<T>(Table<T> table)
{
    return typeof(T);
}

var table = new DataContext().TABLE1s; // this is Table<TABLE1>  
var tableType = GetType(table);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...