¿Cómo puedo eliminar o crear clases en tiempo de ejecución C #? [cerrado]
-
27-09-2019 - |
Pregunta
Me hizo un programa que lograr una representación del conocimiento, es bueno pero lo que podría ser mejor si puedo crear y destruir clases sobre la marcha.
Solución
Si usted está hablando de la generación de código dinámico, aquí hay un enlace:
Otros consejos
A partir de su descripción, parece que realmente no desea crear clases de C # en tiempo de ejecución. Lo que queremos es una especie de representación del conocimiento.
No hay respuesta simple a esto. Esta es un área de investigación de la inteligencia artificial. Ver http://en.wikipedia.org/wiki/Knowledge_representation_and_reasoning para una introducción.
A mí me suena como usted quiere aprender algo de AI programación y representación del conocimiento . Sin embargo, esto es muy diferente de la creación de clases en tiempo de ejecución. Wikipedia da una bastante buena introducción en el tema, pero ningún código en absoluto.
En C # 3.0 es posible crear tipos anónimos, aunque como señala STW, esto no se define en tiempo de ejecución, pero el tiempo de compilación.
var myClass = new { A = 5, Id = "MyClass", num = 0.187f};
Console.WriteLine(myClass.Id);
Si usted está mirando para crear realmente un nuevo tipo de clase sobre la marcha, una manera indirecta es generar archivos de clase C #, compilarlos en una asamblea, y utilizar la reflexión para cargar las clases.