Angenommen, ich habe ein generisches Mitglied in einer Klasse oder Methode, also:
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
Wenn ich die Klasse instanziiere, Twird das MyTypeObject1, sodass die Klasse eine generische Listeneigenschaft hat : List<MyTypeObject1>. Gleiches 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. Die aufgerufene Eigenschaft list Baroder die lokale Variable bazenthält also welche Art von T?
Ich kann nicht Bar[0].GetType(), weil die Liste möglicherweise keine Elemente enthält. Wie kann ich es tun?
object,IListoder ähnlich - aber das könnte sehr wohl die richtige Antwort sein.