いもづる オブジェクト指向

 

クラス名称からインスタンスを生成

クラスの名称となる文字列から、そのクラスのインスタンスを生成します。

 1|using System;
 2|using System.Runtime;
 3|
 4|namespace ioo.Sample.CreateInstance
 5|{
 6|    public class TestClass
 7|    {
 8|        public TestClass(){
 9|            Console.WriteLine("TestClass Created.");
10|        }
11|    }
12|
13|    public class Class1
14|    {
15|        [STAThread]
16|        static void Main(string[] args){
17|            CreateInstance("ioo.Sample.ClassInstance.TestClass");
18|        }
19|
20|        private static void CreateInstance(string className){
21|            ObjectHandle handle = Activator.CreateInstance(null, className);
22|            TestClass instance = (TestClass)handle.Unwrap();
23|        }
24|
25|    }
26|}

クラスの名称は、完全修飾名で指定します。
CreateInstanceの第1引数は、アセンブリ名称を指定します。nullの場合は実行中のアセンブリ指定となります。

 

webmaster@e-ioo.net