C# 在反射中重命名名称空间?

C# 在反射中重命名名称空间?,c#,reflection,namespaces,C#,Reflection,Namespaces,当代码尝试通过反射获取命名空间名称时,请使用以下任一方法: typeof(MyNamespace.MyClass).Namespace; 或者其他方法,我希望名称空间名称返回我的预定义字符串 这不起作用: typeof(MyNamespace.MyClass).Namespace = "helloWorld"; 有什么办法吗 p、 请不要发布诸如“在源代码中更改名称空间”之类的答案。…反射API中处理类型和其他程序集元数据的部分是只读的。您不能更改或影响任何此类调用(包括命名空间)返回的任

当代码尝试通过反射获取命名空间名称时,请使用以下任一方法:

typeof(MyNamespace.MyClass).Namespace;
或者其他方法,我希望名称空间名称返回我的预定义字符串

这不起作用:

typeof(MyNamespace.MyClass).Namespace  = "helloWorld";
有什么办法吗


p、 请不要发布诸如“在源代码中更改名称空间”之类的答案。…

反射API中处理类型和其他程序集元数据的部分是只读的。您不能更改或影响任何此类调用(包括命名空间)返回的任何值—它们只是读取程序集的元数据


要实现您的要求,您需要更改和重新编译源代码(直接或在反编译IL之后),并在编译之前重写命名空间。

System.Type.Namespace
是一个只读属性(即无setter),这是可以理解的。我想象在运行时更改名称空间是不可能的,这似乎是一个极其危险的过程(我现在真的想不出一个用例)
任何方法?
在源代码中更改名称空间。我想知道是什么要求导致了这个问题。@T.Todua请尝试解释您的要求。这具有an的所有商标,如果我们理解您为什么需要这样做,您可能会得到更好的建议。Touda,您作为我们,磨光“镜头”(纯=非彩色)类型,您应该使用它来查看蓝色汽车是黄色的。你认为答案是什么?或者另一种方法,如何使用(Windows)计算器应用程序,将视频文件从Youtube复制到您的磁盘。当应用程序使用名称空间时,只能通过重新编译或使用某些IL工具更改名称空间,但不能在运行时更改。即使在可能的情况下(通过改变内存),防病毒解决方案也可能捕捉到这种更改正在运行的应用程序代码的尝试。这不是一个好主意。请求是错误的,或者理解得不好