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.

Foi útil?

Solução

Se você está falando sobre geração dinâmica de código, aqui está um link:

Código dinâmico em C# código dinâmico no script

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.

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

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top