Есть ли причина использовать свойства, реализованные автоматически, а не свойства, реализованные вручную?

Я понимаю преимущества PROPERTIES перед FIELDS, но мне кажется, что использование AUTO-реализуемых свойств над MANUAL-реализуемыми свойствами на самом деле не дает никаких преимуществ, кроме как сделать код немного более лаконичным для просмотра Это.

Мне гораздо удобнее использовать:

    private string _postalCode;

    public string PostalCode
    {
        get { return _postalCode; }
        set { _postalCode = value; }
    }

Вместо:

public string PostalCode { get; set; }

в первую очередь потому, что если я когда-либо захочу выполнить какую-либо индивидуальную реализацию get и set, мне все равно придется создать свое собственное свойство, подкрепленное закрытым полем. . Так почему бы просто не бросить курить с самого начала и сразу же придать всем свойствам гибкость для единообразия? На самом деле это займет всего одну секунду, учитывая, что все, что вам нужно сделать в Visual Studio, - это щелкнуть имя личного поля и нажать Ctrl + E, и все готово. И если я сделаю это вручную, то я получу несогласованность, в которой есть НЕКОТОРЫЕ вручную созданные общедоступные свойства, поддерживаемые частными полями, и НЕКОТОРЫЕ автоматически реализованные свойства. Я чувствую себя намного лучше, когда он во всех отношениях постоянен, либо полностью автоматический, либо полностью ручной.

Это только я? Я что-то упускаю? Я в чем-то ошибаюсь? Неужели я слишком много внимания уделяю последовательности? Я всегда могу найти законные дискуссии о возможностях C #, и почти всегда есть свои плюсы и минусы, но в этом случае я действительно не смог найти никого, кто бы рекомендовал использовать автоматически реализуемые свойства.

33
задан Alastair Pitts 14 November 2011 в 03:29
поделиться