为了账号安全,请及时绑定邮箱和手机立即绑定

如何在C#中动态创建类?

如何在C#中动态创建类?

www说 2019-06-20 11:00:45
如何在C#中动态创建类?我有一门课是这样的:public class Field{     public string FieldName;     public string FieldType;}和一个物体List<Field>有价值:{"EmployeeID","int"},{"EmployeeName","String"},{"Designation","String"}我想创建一个类似于这样的类:Class DynamicClass{     int EmployeeID,     String EmployeeName,     String Designation}有什么办法吗?我希望在运行时生成它。我不想让一个物理CS文件驻留在我的文件系统中。
查看完整描述

3 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

这将需要一些工作,但肯定不是不可能的。

我所做的是:

  • 在字符串中创建C#源代码(不需要写入文件),
  • 通过

    Microsoft.CSharp.CSharpCodeProvider

    (汇编来源)
  • 查找生成的类型
  • 并创建该类型的实例(

    Activator.CreateInstance)

这样,您就可以处理您已经知道的C#代码,而不必发出msil。

但是,如果您的类实现了一些接口(或者是从某个Baseclass派生出来的),那么调用代码(read:编译器)如何知道将在运行时生成的类呢?


查看完整回答
反对 回复 2019-06-20
  • 3 回答
  • 0 关注
  • 3989 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信