¿Cómo obtener el tipo de T de un miembro de una clase o método genérico?

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 instancia la clase, laT se convierte enMyTypeObject1, entonces 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 lista llamadaBar o la variable localbaz, contiene qué tipo deT?

No puedo hacerloBar[0].GetType(), porque la lista puede contener cero elementos. ¿Cómo puedo hacerlo

Respuestas a la pregunta(17)

Su respuesta a la pregunta