private TypeBuilder CreateTypeBuilder(string name, System.Reflection.TypeAttributes attributes, Type parent, List<Type> interfaces )
{
var assemblyName = new AssemblyName(
$"__assembly__{DateTime.Now.Millisecond}"
);
var assemblyBuilder = Thread.GetDomain().DefineDynamicAssembly(
assemblyName,
AssemblyBuilderAccess.RunAndSave
);
var moduleBuilder = assemblyBuilder.DefineDynamicModule(
assemblyBuilder.GetName().Name,
false
);
return moduleBuilder.DefineType(name,
attributes,
parent,
interfaces.ToArray()
);
}
}