我想动态创建一个具有以下结构的类型。
public abstract class GenericBase<T>
{
}
public class Instantiated : GenericBase<Instantiated>
{
}
使用typebuild这似乎是鸡和蛋的问题。要构建类型,我必须先设置父级。要设置父级,我必须得到类型。有没有办法实现这个目标?
以下是我目前拥有的代码
var baseType = typeof(GenericBase<>);
var assemblyName = string.Concat(baseType .Namespace, ".", "TestGeneric");
var asmName = new AssemblyName(assemblyName);
var asmBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(asmName, AssemblyBuilderAccess.Run);
var moduleBuilder = asmBuilder.DefineDynamicModule(assemblyName);
var typeBuilder = moduleBuilder.DefineType("Instantiated", TypeAttributes.Public);
typeBuilder.SetParent()
var type = typeBuilder.CreateType();
感谢任何帮助。