Я понимаю преимущества 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 #, и почти всегда есть свои плюсы и минусы, но в этом случае я действительно не смог найти никого, кто бы рекомендовал использовать автоматически реализуемые свойства.