そういえば出てないけど、JavaScriptのwith構文みたいなのってダメなの?
それをさらに拡張してコンストラクタに適用して

Window w = new Window()
w.Create(0,0,100,100);

MenuBar mb = new MenuBar();
w.SetMenuBar(mb);
mb.AddItem(
 new SubMenu( "ファイル" )
 {
  AddItem( new MenuText( "開く" ){ OnSelected = this.openFileProc; } );
  AddItem( new MenuText( "印刷" ){ OnSelected = this.printJobProc; } );
  AddItem( new MenuText( "閉じる" ){ OnSelected = this.closeProc; } );
 } );


かなーり強引な例ですけど、>>762と同じことをやるプログラムです

今までいろいろやってきて、メソッドに渡すだけなのに、渡す前にプロパティを設定したいときはいちいち一時変数を作らなきゃいけないのが面倒でした。
上の例ですと、各MenuTextの新しいインスタンスをメソッドに渡す際に、
この構文がないときはいちいち名前を考えて変数を作らなきゃいけません。
この構文を使用すると無駄な一時変数を減らすことが出来ると思います。