是否可以使用Reflection.Emit在现有装配中创建类型,或者是否需要定义新的动态装配以便能够包含动态类型?
基本上,我打算读入一个XML定义文件,该文件定义了一个类,然后多次实例化并填充其他几个XML文件中的数据。冲洗并重复多个文件夹(每个文件夹都有不同的定义文件)。
我还打算使用这些数据动态构建我的应用程序的界面,并定义在将数据重新保存到XML文件时数据的格式化。
答案 0 :(得分:5)
使用Reflection.Emit时,必须始终创建新的程序集。
但是,一个可能的选择是获取现有的程序集,并将合同定义为接口。您可以使用Reflection.Emit在运行时创建新程序集,并让它定义实现接口的类型。程序集可以使用factory pattern来实例化属性,动态生成类型,并返回(在编译时已知)接口的实现。
答案 1 :(得分:1)
使用Reflection.Emit,您可以定义新的程序集。