Допустим, у меня есть универсальный член в классе или методе, поэтому:
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
Когда я создаю экземпляр класса, то T
становится MyTypeObject1
, так что класс имеет общий список имущества: List<MyTypeObject1>
. То же самое относится к универсальному методу в неуниверсальном классе:
public class Foo
{
public void Bar<T>()
{
var baz = new List<T>();
// get type of T
}
}
Я хотел бы знать, какой тип объектов содержится в списке моего класса. Так называется свойство списка Bar
или локальная переменная baz
, какой тип содержит T
?
Я не могу сделать Bar[0].GetType()
, потому что список может содержать ноль элементов. Как мне это сделать?
object
,IList
или похожий - но это вполне может быть правильный ответ.