Nehmen wir an, ich habe ein generisches Mitglied in einer Klasse oder Methode, etwa so:
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
Wenn ich die Klasse instanziere, wird die T
wird MyTypeObject1
Die Klasse hat also eine generische Listeneigenschaft: List<MyTypeObject1>
. Dasselbe gilt für eine generische Methode in einer nicht-generischen Klasse:
public class Foo
{
public void Bar<T>()
{
var baz = new List<T>();
// get type of T
}
}
Ich würde gerne wissen, welche Art von Objekten die Liste meiner Klasse enthält. Also welche Art von T
wird die Listeneigenschaft namens Bar
oder die lokale Variable baz
enthalten?
Ich kann nicht tun Bar[0].GetType()
, da die Liste auch Nullelemente enthalten kann. Wie kann ich das tun?