2017-11-16 2 views
-2

Ich bin neu in C# und ich möchte eine Instanz für MyTestClass in Runtime erstellen. Wie kann ich es tun ?C# Erstellen Sie eine Instanz einer Klasse aus String

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

    public MyTestClass() 
    { 
     Value = 5; 
    } 
} 

EDIT: Ich möchte nur eine Instanz von MyTestClass von String-Variablen erstellen wie

string classInstance = "MyTestClass" 

ich nicht ganz zum ersten Mal, sorry für das erklären könnte.

+1

Was meinst du mit "im laufenden Betrieb"? –

+0

'neue MyTestClass()'? – David

Antwort

0

Sie können eine neue Instanz in Runtime mit Activator Klasse erstellen. So was;

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

Warum schlagen Sie das vor? MyTestClass myTestClass = new MyTestClass(); '? – stuartd

+0

Ich denke, es könnte eine Reflexion Sache sein –

+0

Weil die Frage für "Reflection" erwähnt wurde. – 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; 
} 
Verwandte Themen