Ich habe eine Zeichenfolge, die ich von einer Datenbank mit einem Klassennamen erhalte, zum Beispiel: "w_task1"
. Wenn ich den Skriptnamen von der Datenbank hole, weiß ich nicht, welches Skript es ist, also kann w_task1 t = new w_task1()
nicht schreiben.Aufruf eines Klassendateinamens aus einer Zeichenfolge mit dem Klassennamen
Stattdessen will ich es nach dem Vorbild der (value of class name) t = new (value of class name)()
sein.
Klassennamen, die ich öffnen möchte, variieren von: w_task1.cs
- w_task25
.
Ich habe versucht, das ganze mit:
Type type = Type.GetType("w_task1");
object o = Activator.CreateInstance(type);
... Aber Typ ist gleich null, wenn das RAN des Programms.
Wie öffne ich die Klasse aus der Zeichenfolge, ohne den Klassentyp zu kennen?
Sie öffnen nicht die Klasse wie in einer Datei öffnen. Sie laden eine Assembly und instanziieren eine Klasse anhand ihrer Informationen zum Laufzeittyp. C# ist nicht wie Python oder eine Skriptsprache. –