Можно ли расширить пространство имен .net Framework так же, как можно расширить класс .net Framework? - PullRequest
7 голосов
/ 21 октября 2010

Можно расширить класс как строку (см. http://www.c -sharpcorner.com / uploadfile / mgold / extendingstringclass03162008132109pm / extendingstringclass.aspx ), если есть способ расширения аналогичным образом, System. Web, например, добавляя наши собственные классы в это пространство имен?

Ответы [ 3 ]

9 голосов
/ 21 октября 2010

Конечно. Попробуйте что-то вроде этого:

namespace System.Web
{
   public class ThisIsMyAdditionToSystemWeb
   {
   }
}

Но очевидно, что это ничего не добавит к фактическим сборкам .Net, проекты, которые хотят использовать ваше «расширение», должны будут ссылаться на вашу сборку.

8 голосов
/ 21 октября 2010

Да, конечно, пространство имен не привязано к какой-либо конкретной сборке. В противном случае, это отличный способ запутать пользователя ваших классов за возмещаемую надежду. И сильно не одобряются Microsoft, они утверждают, что и "Microsoft", и "Система" принадлежат им. С симпатией, если какое-то будущее обновление .NET будет иметь имя пространства имен, которое совпадает с вашим.

2 голосов
/ 21 октября 2010

Пример, связанный с вопросом, использует Методы расширения для расширения класса запечатанной строки. Ничто не мешает вам писать методы расширения для любого класса.

И как уже говорили другие, расширение пространства имен так же просто, как объявление этого пространства имен при создании нового объекта. Только не забудьте учесть последствия, прежде чем сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...