Скажем, у меня есть общий элемент в классе или методе, поэтому:
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
}
}
Я хотел бы знать, какие типы объектов содержится в моем классе. Таким образом, свойство list, называемое Bar
или локальная переменная baz
, содержит тип T
?
Я не могу сделать Bar[0].GetType()
, потому что список может содержать нулевые элементы. Как я могу это сделать?