道歉,如果我遗漏了一些明显的东西,但当我用Reflection.Emit创建一个新类型时,如何指定它应该在哪个命名空间?
即..
AssemblyName assemblyName = new AssemblyName();
assemblyName.Name = "TestDynamic";
AssemblyBuilder assemblyBuilder =
AppDomain.CurrentDomain.DefineDynamicAssembly(
assemblyName,
AssemblyBuilderAccess.Save);
ModuleBuilder moduleBuilder =
AssemblyBuilder.DefineDynamicModule("TestDynamic", "TestDynamic.dll");
TypeBuilder myTestInterface =
moduleBuilder.DefineType("MyTestInterface",
TypeAttributes.Public | TypeAttributes.Interface, typeof(object));
如何为myTestInterface
提供命名空间?
答案 0 :(得分:13)
定义类型的位置:
moduleBuilder.DefineType("MyNamespace.MyTestInterface",
TypeAttributes.Public | TypeAttributes.Interface,
typeof(object));
答案 1 :(得分:0)
将它放在“短”类型名称之前。 "Namespace.Subnamespace.Type"