2017-11-16 15 views
-2

私はC#で新しく、MyTestClassのインスタンスを実行時に作成したいと考えています。どうしたらいいですか?C#文字列からクラスのインスタンスを作成する

public class MyTestClass 
{ 
    public int Value { get; set; } 

    public MyTestClass() 
    { 
     Value = 5; 
    } 
} 

EDIT: 私はちょうど私がこれのために申し訳ありませんが、最初の時点で完全に説明することができませんでし

string classInstance = "MyTestClass" 

のような文字列変数からMyTestClassのインスタンスを作成します。

+1

あなたは、 "ランタイムで" とはどういう意味ですか? –

+0

'new MyTestClass()'? – David

答えて

0

実行時にアクティベータクラスを使用して新しいインスタンスを作成できます。このような;

var instance = (MyTestClass)Activator.CreateInstance(typeof(MyTestClass)); 
+1

「MyTestClass myTestClass = new MyTestClass();」ではなく、なぜそれを示唆していますか? – stuartd

+0

反射物かもしれないと思います –

+0

「反射」の質問がありますので。 – lucky

0
public static I CreateInstance<I>() where I : class 
{ 
    string assemblyPath = Environment.CurrentDirectory + "\\MyTestClass.exe"; 

    Assembly assembly; 

    assembly = Assembly.LoadFrom(assemblyPath); 
    Type type = assembly.GetType("MyTestClass"); 
    return Activator.CreateInstance(type) as I; 
}