Во многих ситуациях изначально свойства не имеют дополнительных условий, соответственно свойства имеют следующий вид:
public string field;
public string Field
{
set
{
field = value;
}
get
{
return field;
}
}
Что бы не писать код таких свойств были созданы автоматически реализуемые свойства, запись которых выглядит следующим образом:
public string Field{ set; get; }
Данное свойство будет аналогично приведённому выше свойству, разница состоит в том, что для этого свойства ненужно создавать отдельное поле, оно будет создано компилятором, а в его имени будут использоваться запрещённые символы, соответственно обратится к нему напрямую невозможно. При этом в дальнейшем, при необходимости, само свойство можно расписать более детально используя различные условия.
Вид автоматически реализуемого свойства при просмотре с .NetReflector: