Я знаю, что уже существует сообщение , описывающее почти то же самое, но я думаю, что мой немного отличается.
Что я хотел бы знать, так это то, как вы организуете свои методы расширения с точки зрения назначения пространства имен. В настоящее время - для методов расширения в наших рамках - я использую следующий шаблон пространства имен
- MyCompany.Web.Utils
и внутри я имею классы метода расширения. Это хорошо для меня с недостатком, что расширители не сразу видны нашим разработчикам программного обеспечения. Рассмотрим случай, когда у меня есть класс StringExtender, который предоставляет довольно удобный метод расширения "В" , который расширяет объект String
. Имея метод расширения с указанным выше пространством имен, наши программисты не будут видеть метод расширения, если они явно не включают его пространство имен. Вместо этого, если бы я поместил метод расширения в пространство имен System
, все сразу увидели бы его, но я прочитал, что это плохая практика.
Итак, мой вопрос заключается в том, как вы продвигаете свои методы расширения s.t. они используются вашими разработчиками.