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 T
devient 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 Bar
ou 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
,IList
ou similaire - mais cela pourrait très bien être la bonne réponse.