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

如何在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文件驻留在我的文件系统中。


www说
浏览 3990回答 3
3回答

肥皂起泡泡

这将需要一些工作,但肯定不是不可能的。我所做的是:在字符串中创建C#源代码(不需要写入文件),通过Microsoft.CSharp.CSharpCodeProvider(汇编来源)查找生成的类型并创建该类型的实例(Activator.CreateInstance)这样,您就可以处理您已经知道的C#代码,而不必发出msil。但是,如果您的类实现了一些接口(或者是从某个Baseclass派生出来的),那么调用代码(read:编译器)如何知道将在运行时生成的类呢?
打开App,查看更多内容
随时随地看视频慕课网APP