当代码尝试通过反射获取命名空间名称时,使用:
typeof(MyNamespace.MyClass).Namespace;
或其他方法,我希望Namespace名称返回我预定义的字符串。
这不起作用:
typeof(MyNamespace.MyClass).Namespace = "helloWorld";
任何方式?
P.S。请不要发布以下答案:“在源代码中更改名称空间”......
答案 0 :(得分:3)
处理类型和其他程序集元数据的部分反射API是只读的。您不能更改或影响任何此类调用(包括命名空间)返回的任何值 - 它们只是读取程序集的元数据。
要实现您的要求,您需要更改和重新编译源代码(直接或在解编译IL之后)并在编译之前重写命名空间。