Скажімо, у мене є загальний член у класі чи методі, тож:
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
чи подібне - але це цілком може бути правильну відповідь.