0

これは可能ですか?

型がメソッドに渡されるときに、ジェネリック クラス myClass をインスタンス化したい

public class myClass<T>
{

}

public void PassInType(Type myType)
{

myClass<myType> c=new myClass<myType>();
}

アップデート:

それは不可能なので、どうすればいいですか

public myMethod(string myType)
{

myClass<myType> c=new myClass<myType>();

}
4

1 に答える 1

5

いいえ; それは基本的に不可能です。

ジェネリックの要点は、コンパイル時の型を作成することです。
コンパイル時に不明な型を作成しようとしています。

ただし、リフレクションを使用してそれを行うことができます。( typeof(MyClass<>).MakeGenericType(myType))

于 2012-12-05T22:30:51.377 に答える