Это может показаться наивным, но...
class Widget
{
public int Foo { get; set; }
}
Это круто и сохраняет некоторый шаблон с использованием поля поддержки, но в этот момент он не эквивалентен просто:
class Widget
{
public int Foo;
}
Похоже, это немного больше, чем публичное поле, хотя я полагаю, что он выглядит по-другому под капотом. Однако, с точки зрения дизайна, какое преимущество использования свойства, если оно не помогает инкапсуляции?