Powiedzmy, że mam ogólny element w klasie lub metodzie, więc:
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
Kiedy instancję klasy, Tstaje się MyTypeObject1, więc klasa ma ogólną listę właściwość: List<MyTypeObject1>. To samo dotyczy metody ogólnej w klasie innej niż ogólna:
public class Foo
{
public void Bar<T>()
{
var baz = new List<T>();
// get type of T
}
}
Chciałbym wiedzieć, jaki rodzaj obiektów zawiera lista mojej klasy. Tak więc właściwość list o nazwie Barlub zmienna lokalna bazzawiera jakiego typu T?
Nie mogę tego zrobić Bar[0].GetType(), ponieważ lista może zawierać zero elementów. Jak mogę to zrobić?
object,IListlub podobne - ale może to równie dobrze być prawidłowa odpowiedź.