コンストラクタとプロパティを一括で書く

 この記法は絶対に必要だよなあ。こんな感じか。

public class Hoge : BaseClass
{
  Point p;

  public Hoge(
    string name to public Name{ get; private set; }, //ゲットオンリープロパティ
    int id to id, //フィールド
    int x, int y, int z) : base(z)
  {
    p = new Point(x,y);
  }

  public Hoge(string name, int id) : this(name,id,0,0,0){}
}
              ↓
public class Hoge : BaseClass
{
  public string Name{ get; private set; }
  int id;
  Point p;

  public Hoge(string name, int id, int x, int y, int z) : base(z)
  {
    Name = name;
    this.id = id;
    p = new Point(x,y);
  }

  public Hoge(string name, int id) : this(name, id, 0, 0, 0){}
}

 プロパティ宣言、コンストラクタ引数、代入式の三箇所に出てきたものが一つにまとまった。引数クラスとか戻り値クラスをつくるのが格段に楽になる。構造体も簡単に初期化できる。いいことずくめじゃないか。