Frage

Ich habe ein Programm, das eine Wissensrepräsentation zu erreichen, seine gut, aber ich, was es besser sein könnte, wenn ich erstelle und zerstören Klassen im Fluge.

War es hilfreich?

Lösung

Wenn Sie die dynamischen Code-Generierung sprechen, hier ist ein Link:

dynamischer Code in c # dynamischer Code in dem Skript

Andere Tipps

Aus Ihrer Beschreibung, es klingt wie Sie nicht wirklich wollen, C # Klassen zur Laufzeit erstellen. Was Sie wollen, ist eine Art der Repräsentation von Wissen.

Es gibt keine einfache Antwort auf diese Frage. Dies ist ein Bereich der Künstlichen Intelligenz-Forschung. Siehe http://en.wikipedia.org/wiki/Knowledge_representation_and_reasoning für eine Einführung.

Für mich klingt es wie Sie einig AI lernen wollen Programmierung und Wissensrepräsentation . Dies ist jedoch sehr verschieden von Klassen zur Laufzeit zu schaffen. Wikipedia gibt eine ziemlich gute Einführung in das Thema, aber keinen Code überhaupt.

http://en.wikipedia.org/wiki/Artificial_intelligence

In C # 3.0 ist es möglich, anonyme Typen zu erstellen, obwohl als STW darlegt, ist dies nicht zur Laufzeit definiert, aber die Kompilierung.

var myClass = new { A = 5, Id = "MyClass", num = 0.187f};

Console.WriteLine(myClass.Id);

Wenn Sie schauen, um tatsächlich eine neue Klasse Art on the fly zu erstellen, eine Umwegen ist C # class-Dateien zu generieren, kompilieren sie in eine Versammlung, und die Verwendung Reflexion, um die Klassen zu laden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top