public string Hoge { get; set; }

private string _Hoge;
public string Hoge { get { return this._Hoge; } set { this._Hoge = value; } }
の省略構文みたいな感じになる
(実際にはこの_HogeはC#からアクセスできない名前にコンパイルされる)