Я понимаю преимущества 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, и все готово. И если я делаю это вручную, то я получаю несогласованность, в которой есть НЕКОТОРЫЕ вручную созданные общедоступные свойства, поддерживаемые частными полями, и НЕКОТОРЫЕ автоматически реализованные свойства. Я чувствую себя намного лучше, так как он совместим со всеми, либо автоматически, либо все вручную.
Это только я? Я что-то упускаю? Я что-то ошибаюсь? Я уделяю слишком много внимания последовательности? Я всегда могу найти законные дискуссии о функциях С#, и почти всегда есть плюсы и минусы, но в этом случае я действительно не мог найти тех, кто рекомендовал не использовать автоматически реализованные свойства.