C#反射:将类发送到现有程序集

Evo*_*mer 3 c# reflection.emit

是否可以使用Reflection.Emit在现有程序集中创建类型,或者是否需要定义新的动态程序集才能包含动态类型?

基本上,我打算在一个XML定义文件中读取,该文件定义了一个类,然后多次实例化并填充其他几个XML文件中的数据.冲洗并重复多个文件夹(每个文件夹具有不同的定义文件).

我还打算使用这些数据动态构建我的应用程序的界面,并定义在将数据重新保存到XML文件时如何格式化数据.

Ree*_*sey 5

使用Reflection.Emit时,必须始终创建新的程序集.

但是,一个可能的选择是获取现有的程序集,并将合同定义为接口.您可以使用Reflection.Emit在运行时创建新程序集,并让它定义实现接口的类型.您的程序集可以使用工厂模式来实例化属性,动态生成的类型,并返回您(在编译时已知)接口的实现.