Digamos que tengo un miembro genérico en una clase o método, entonces:
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
Cuando una instancia de la clase, la T
convierte MyTypeObject1
, por lo que la clase tiene una propiedad de lista genérica: List<MyTypeObject1>
. Lo mismo se aplica a un método genérico en una clase no genérica:
public class Foo
{
public void Bar<T>()
{
var baz = new List<T>();
// get type of T
}
}
Me gustaría saber qué tipo de objetos contiene la lista de mi clase. Entonces, ¿la propiedad de la lista llamada Bar
o la variable local baz
contiene qué tipo de T
?
No puedo hacerlo Bar[0].GetType()
, porque la lista puede contener cero elementos. ¿Cómo puedo hacerlo?
object
,IList
o similar, pero esta podría ser la respuesta correcta.