Como posso excluir ou criar classes no tempo de execução C#? [fechado
-
27-09-2019 - |
Pergunta
Fiz um programa que alcançava uma representação do conhecimento, é bom, mas eu poderia ser melhor se eu puder criar e destruir classes em tempo real.
Solução
Se você está falando sobre geração dinâmica de código, aqui está um link:
Outras dicas
Pela sua descrição, parece que você realmente não deseja criar classes C# em tempo de execução. O que você quer é algum tipo de representação do conhecimento.
Não há resposta simples para isso. Esta é uma área de pesquisa de inteligência artificial. Ver http://en.wikipedia.org/wiki/knowledge_representation_and_Rensioning Para uma introdução.
Para mim, parece que você quer aprender alguns Ai programação e representação do conhecimento. No entanto, isso é muito diferente de criar classes em tempo de execução. A Wikipedia dá uma boa introdução ao assunto, mas nenhum código.
No C# 3.0, é possível criar tipos anônimos, embora, como o STW aponte, isso não seja definido em tempo de execução, mas com o tempo de compilação.
var myClass = new { A = 5, Id = "MyClass", num = 0.187f};
Console.WriteLine(myClass.Id);
Se você deseja criar um novo tipo de classe em tempo real, uma maneira redonda é gerar arquivos de classe C#, compilá-los em uma montagem e usar a reflexão para carregar as classes.