클래스 또는 메서드에 일반 멤버가 있다고 가정 해 보겠습니다.
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
나는 클래스를 인스턴스화 할 때이 T
되고 MyTypeObject1
, 그래서 클래스는 일반적인 목록 속성이 있습니다 List<MyTypeObject1>
. 일반이 아닌 클래스의 일반 메소드에도 동일하게 적용됩니다.
public class Foo
{
public void Bar<T>()
{
var baz = new List<T>();
// get type of T
}
}
클래스 목록에 어떤 유형의 객체가 포함되어 있는지 알고 싶습니다. 따라서 호출 된 목록 속성 Bar
또는 로컬 변수 baz
에는 어떤 유형의 T
?
Bar[0].GetType()
목록에 0 요소가 포함될 수 있기 때문에 할 수 없습니다 . 어떻게하니?
object
,IList
그러나 이것은 아주 잘 올바른 해답이 될 수있다 -, 또는 유사한.