Disons que j'ai un membre générique dans une classe ou une méthode, donc:
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
Quand j'instancier la classe, le Tdevient MyTypeObject1, si la classe a une propriété de liste générique: List<MyTypeObject1>. La même chose s'applique à 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 contient la liste de ma classe. Ainsi, la propriété list appelée Barou la variable locale baz, contient quel type de T?
Je ne peux pas le faire Bar[0].GetType(), car la liste peut contenir zéro élément. Comment puis-je le faire?
object,IListou similaire - mais cela pourrait très bien être la bonne réponse.