我是C#的新手,我听说可以在运行时创建类。这是真的?如果这是真的,你可以给我一个简单的例子来说明如何做到这一点?我想在运行时从配置文件创建一个类,以在PropertyGrid控件中将其用作SelectedObject。C#运行时间类的创建
感谢您的帮助!
我是C#的新手,我听说可以在运行时创建类。这是真的?如果这是真的,你可以给我一个简单的例子来说明如何做到这一点?我想在运行时从配置文件创建一个类,以在PropertyGrid控件中将其用作SelectedObject。C#运行时间类的创建
感谢您的帮助!
实际上你想要做的是在PropertyGrid中显示任意数据。你不需要为此创建一个新类。您可以使用自定义类型描述符。
检查this出。
您可以使用TypeBuilder类来做到这一点。链接的MSDN文档有一个示例。
我想你所追求的是dynamic source code generation它允许你在运行时创建类等。链接包括样本。
你可以用TypeBuilder - 但这是不是琐碎的东西;你在本质上是在运行时编写像IL这样的低级别的东西。我偶尔会这样做,但我有点疯狂。这两者可能有关系。
为了你想要的(PropertyGrid)一个更简单的选项是通过PropertyDescriptor提供运行时属性;我在这里有几个这样的“财产袋”的例子在stackoverflow。这里有一个这样的例子:.Net Property Grid. Is there a way to let the Grid manipulate object in different way
但即使这是最简单的选择相比,工作:使用数据表;添加所需的列和单行,并将行的双胞胎从表的DefaultView传递给PropertyGrid。
你想在运行时创建一个新的类?或运行时已知的类类型的新实例? – 2011-02-05 08:08:21
我想要一个新的类,新的成员和新的方法。所有这些都在运行时添加。我不知道这是否可能。 – Felics 2011-02-05 08:10:07
你真的想要一个新班吗?或者你只是想在属性网格中显示任意数据?如果是这样,有更简单的方法。 – 2011-02-05 08:20:52