ナビゲーション リンクのスキップトップページ > コードの破片から > 文字列からインスタンス作成
▼ 文字列からインスタンス作成 ▼

  Type.GetTypeメソッドとActivater.CreateInsstanceメソッドを使うことによって、かなり強引な方法だとは思いますが、クラス名の文字列から指定したインスタンスを作成することが出来ます。

文字列からインスタンス作成

// formNameは "FooPah.UI.TestForm" のような完全限定名を指定します。

private void SetupAndShow(string formName)
{
    Type className = Type.GetType(formName);

    if(className != null)
    {
        Form childForm = (Form)Activator.CreateInstance(className);
        childForm.Show();
    }
}


  もし、指定したクラスが存在していない場合は NullReferenceException が発生しますので、以上のコードのように nullを判別することで問題を回避することが出来ます。

Continue
ナビゲーション リンクのスキップトップページ > コードの破片から > 文字列からインスタンス作成

2008年ですね。[1]
♥ 2008年01月01日 00:00:00

自由なスレ[3]
♥ 2007年09月22日 20:51:58

2007年ですね。[1]
♥ 2007年01月01日 00:00:00

こみゅぷらす発足[1]
♥ 2006年12月01日 12:01:23

TechED2006 日記[5]
♥ 2006年09月11日 18:44:51


RSS : FooPah!の更新情報
RSS : 掲示板全体の投稿情報
Copyright(C)2001-2008 FooPah!, All rights reserved.