Как назвать перечисления в сравнении со свойствами - PullRequest
0 голосов
/ 10 декабря 2010

В следующем искусственном коде C # мне не нравится, что имя перечисления совпадает с именем свойства.

public enum CollarType
{
    Classic,
    VNeck
}

public class Shirt
{
    public CollarType CollarType { get ... }
}

В старые времена, когда все больше людей использовали венгерские / другие странные названия, такие как class CShirt, такого рода конфликты не возникали. Но сегодня я постоянно сталкиваюсь с этим.

Как вы справляетесь с этой ситуацией? Вы просто живете с тем фактом, что многие вещи имеют одинаковое имя, или у вас есть лучшая схема именования?

Ответы [ 3 ]

1 голос
/ 10 декабря 2010

Да, абсолютно нормально иметь свойство с тем же именем, что и его имя типа.

1 голос
/ 10 декабря 2010

Единственное ограничение на наличие имени перечисления, совпадающего с именем свойства, заключается в том, что нельзя определить перечисление как вложенный тип класса со свойством.

Например, это не работа:

public class Shirt
{
    public enum CollarType
    {
        Classic,
        VNeck
    }

    public CollarType CollarType { get ... }
}

Однако, с другой стороны, это делает код более читабельным ИМХО, поскольку он четко <показывает связь между значением перечисления и свойством: </p>

myShirt.CollarType = CollarType.Classic;
1 голос
/ 10 декабря 2010

Соглашение в BCL - просто работать с ним. За исключением вложенных перечислений , это не вызывает двусмысленности.

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