如何在运行时删除或创建类c#?

时间:2010-08-09 21:02:13

标签: c# class dynamic-class

我创建了一个实现知识表示的程序,它很好,但是如果我可以动态创建和销毁类,那就更好了。

4 个答案:

答案 0 :(得分:1)

如果您正在谈论动态代码生成,请参阅以下链接:

dynamic code in c# dynamic code in script

答案 1 :(得分:1)

在C#3.0中,可以创建匿名类型,尽管STW指出,这不是在运行时定义的,而是在编译时定义的。

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

Console.WriteLine(myClass.Id);

如果您希望实际创建一个新的类类型,那么一种循环方式是生成C#类文件,将它们编译成程序集,并使用Reflection来加载类。

答案 2 :(得分:1)

根据您的描述,听起来您并不真的想在运行时创建C#类。你想要的是某种知识表达。

对此没有简单的答案。这是人工智能研究的一个领域。有关简介,请参阅http://en.wikipedia.org/wiki/Knowledge_representation_and_reasoning

答案 3 :(得分:1)

对我而言,您似乎想学习一些 AI 编程和知识表示。但是,这与在运行时创建类有很大不同。维基百科对该主题给出了相当不错的介绍,但根本没有代码。

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