编译新创建的类和消费

时间:2013-08-12 12:23:11

标签: c# reflection compilation .net-4.5 .net-assembly

我有一些派生自抽象类的类,并且有一个属性和方法。 我得到所有这些类并使用它们:

Assembly mscorlib = Assembly.GetExecutingAssembly();
foreach (Type type in mscorlib.GetTypes())
{
    if (type.IsSubclassOf(typeof(GrabbersBase)) && !type.IsAbstract)
    {
       GrabbersBase obj = (GrabbersBase)Activator.CreateInstance(type);
       retValue.AddRange(obj.GetImages(tag));
    }
}

我想要的是:

如果我创建一个派生自该抽象类GrabbersBase并实现其抽象方法的类,我希望能够将MyNewClass.cs文件粘贴到相应的文件夹中,然后再粘贴到应用程序中。应该有能力消费它,不再有干扰。

2 个答案:

答案 0 :(得分:0)

可以动态编译代码。

如何使用C#编译器以编程方式编译代码。 http://support.microsoft.com/kb/304655

答案 1 :(得分:0)

您也可以使用System.Reflection.Emit命名空间。

Using Reflection Emit

希望这有帮助。