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