質問: なぜC#の省略可能引数は、オーバーロードのシンタックスシュガーではないのでしょうか? C#の省略可能引数はビルド時に呼び出し側に値が埋め込まれるだけなので、この記事の「省略可能引数を追加する」のような問題が起きます。 なぜC#の省略可能引数は、内部的にオーバーロード関数を自動生成するのではなく、呼び出し側に値が埋め込むといった実現方法になっているのでしょうか。
回答: バイナリレベルで互換性を保つためではないでしょうか 関数が別DLLの場合など。