2011-03-17 5 views
3

後で初期化できるクラスの配列を格納しようとしています。私はそうのようにそれを行うにしようとしています:クラスの配列を格納できません

Type[] x = { className }; 

はしかし、私は次のエラーを取得しています:

'myNamespace.className' is a 'type' but it is used like a 'variable'

任意の指導をいただければ幸いです。

答えて

5

typeof演算子を使用します。この演算子は、あるタイプのSystem.Typeを取得するために使用します。

Type[] x = { typeof(className) }; 

EDIT:あなたのコメントに応えて

Activator.CreateInstanceメソッドの適切なオーバーロードを使用し、System.Typeからの型のインスタンスを作成します。

など。

Type t = typeof(int); 

// Boxed Int32 with value 0 
object o = Activator.CreateInstance(t); 

あなたの場合、クラスの基底型を知っているので、戻り値を基底型にキャストできます。

+0

これはうまくいくようです!もう一つの素早いこと:私はそれを初期化するにはどうすればいいですか(私は親クラスを知っています)? –

+0

@Tim:私の編集はそれに答えますか? – Ani

+0

どうもありがとうございました。 –

関連する問題