Раздел 10.7.4 спецификации C # гласит:
Когда свойство указано как
автоматически реализованное свойство,
скрытое поле поддержки автоматически
доступны для собственности, а
средства доступа реализованы для чтения из
и написать в это поле поддержки.
следующий пример:
public class Point {
public int X { get; set; } // automatically implemented
public int Y { get; set; } // automatically implemented
}
эквивалентно следующему объявлению:
public class Point {
private int x;
private int y;
public int X { get { return x; } set { x = value; } }
public int Y { get { return y; } set { y = value; } }
}
Это то, что мы обещаем, и это то, что вы получаете. Смысл авто свойств заключается в том, чтобы сделать самую простую, дешевую вещь; если вы хотите сделать что-то более изворотливое, вам следует написать «реальное» свойство.