クラスまたはメソッドにジェネリックメンバーがあるとしましょう。
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()
リストに要素が含まれていない可能性があるため、私はできません。どうすればできますか?
object
、IList
これは非常に適切な答えになる可能性があります。