我是C#的新手,我听说可以在运行时创建类。这是真的?如果这是真的可以给我一个简单的例子来说明如何做到这一点?我想在运行时从配置文件创建一个类,以在PropertyGrid控件中将其用作SelectedObject。
感谢您的帮助!
答案 0 :(得分:3)
你可以使用TypeBuilder - 但这是不琐碎的东西;你实际上是在运行时编写像IL这样的低级东西。我偶尔这样做,但我有点疯狂。这两者可能是相关的。
对于你想要的(PropertyGrid),一个更简单的选择是通过PropertyDescriptor提供运行时属性;我在stackoverflow上有几个这样的“属性包”示例。这是一个这样的例子:.Net Property Grid. Is there a way to let the Grid manipulate object in different way
但与最简单的选项相比,即便是这样做:使用DataTable;添加所需的列和单行,并将行的双胞胎从表的DefaultView传递给PropertyGrid。
答案 1 :(得分:1)
您真正想要做的是在PropertyGrid中显示任意数据。您无需为此创建新类。您可以使用自定义类型描述符。
检查this。
答案 2 :(得分:0)
您可以使用TypeBuilder课程执行此操作。链接的MSDN文档有一个例子。
答案 3 :(得分:0)
我认为你所追求的是dynamic source code generation,它允许你在运行时创建类等。链接包括样本。