如何为通过Reflection.Emit创建的类型指定命名空间?
如果我遗漏了一些明显的东西,我深表歉意,但是当我使用 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
提供命名空间?
Apologies if I'm missing something obvious, but when I create a new type with Reflection.Emit, how do I specify what namespace it should be in?
ie..
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));
How do I give a namespace for myTestInterface
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在定义类型的地方定义它:
Define it where you define the type:
只需将其放在“短”类型名称之前即可。
“命名空间.子命名空间.类型”
Just put it before the "short" typename.
"Namespace.Subnamespace.Type"