Supponiamo che io abbia un membro generico in una classe o in un metodo, quindi:
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
Quando ho un'istanza della classe, l' Tdiviene MyTypeObject1, quindi la classe ha una proprietà elenco generico: List<MyTypeObject1>. Lo stesso vale per un metodo generico in una classe non generica:
public class Foo
{
public void Bar<T>()
{
var baz = new List<T>();
// get type of T
}
}
Vorrei sapere quale tipo di oggetti contiene l'elenco della mia classe. Quindi la proprietà list chiamata Baro la variabile locale baz, contiene che tipo di T?
Non posso farlo Bar[0].GetType(), perché l'elenco potrebbe contenere zero elementi. Come posso farlo?
object,IListo simili - ma questo potrebbe benissimo essere la risposta giusta.