Disons que j'ai un membre générique dans une classe ou une méthode, comme ceci :
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
Lorsque j'instancie la classe, le T
devient MyTypeObject1
La classe a donc une propriété de liste générique : List<MyTypeObject1>
. Il en va de même pour une méthode générique dans une classe non générique :
public class Foo
{
public void Bar<T>()
{
var baz = new List<T>();
// get type of T
}
}
Je voudrais savoir quel type d'objets la liste de ma classe contient. Donc quel type de T
la propriété de la liste appelée Bar
ou la variable locale baz
contiennent ?
Je ne peux pas faire Bar[0].GetType()
car la liste peut contenir zéro élément. Comment puis-je le faire ?