まだデリゲートに頭を悩ませているので、興味があります。無名関数をオーバーロードすることは可能ですか?
そのような:
delegate void Output(string x, int y);
サポート:
Output show = (x, y) => Console.WriteLine("{0}: {1}", x.ToString(), y.ToString());
と:
delegate void Output(string x, string y);
許可:
show( "ABC", "EFG" );
と:
show( "ABC", 123 );