Подтвердить что ты не робот

Соглашения об именах для пространств имен и классов спонсоров расширения

Какие соглашения об именах вы используете для пространств имен и классов спонсоров? (то есть классы, которые содержат определения метода расширения)

Существует ли стандартное/рекомендуемое соглашение об именах .NET Framework? (в книге "Руководство по дизайну каркаса, 2-е издание" приводятся только указания о том, какие пространства имен не использовать).

4b9b3361

Ответ 1

Для пространства имен - я бы сосредоточился на стандартных рамочных директивах для имен пространства имен. Поместите методы расширения в пространство имен, где они, как правило, будут использоваться/связаны значимо и не будут иметь дополнительное пространство имен только для этого.

Для класса спонсора - в этом случае он довольно неважен. Я бы попытался выбрать имя класса, которое имеет смысл, но, похоже, не существует фиксированного руководства.

Важно, однако, то, что класс спонсора никогда не используется напрямую/не рассматривается пользователем в ваших методах расширения. Пока пространство имен включено, метод расширения найден правильно. Я лично использую что-то очень похожее на jrummell для моих методов расширения, но Microsoft не следует этому в Framework (хорошим примером этого является Enumerable class.)

Ответ 2

Я не видел официальных рекомендаций, но я организовывал классы расширения, такие как [NameSpace]. [ClassName] Расширения:

ProjectName.Web.Util.ControlExtensions
ProjectName.Data.Util.CollectionExtensions