переименовать NameSpace в отражении? - PullRequest
0 голосов
/ 01 мая 2018

, когда код пытается получить имя пространства имен посредством отражения, используя либо:

typeof(MyNamespace.MyClass).Namespace;

или другими методами, я хочу, чтобы имя пространства имен возвратило мою предопределенную строку.

Это не работает:

typeof(MyNamespace.MyClass).Namespace  = "helloWorld";

какие-нибудь способы?

p.s. пожалуйста, не публикуйте ответы типа: "Изменить пространство имен в исходном коде" ...

1 Ответ

0 голосов
/ 01 мая 2018

Часть API отражения, которая работает с типами и другими метаданными сборки, доступна только для чтения. Вы не можете изменять или влиять на значения, возвращаемые любым из таких вызовов (включая пространство имен) - они просто читают метаданные сборки.

Чтобы добиться того, что вы просите, вам нужно изменить и перекомпилировать исходный код (либо непосредственно, либо после декомпиляции IL) и переписать пространства имен перед компиляцией.

...