どうやら、メソッドを同じ名前にしたくてオーバーロードをしたらしい。
ところが驚いたことに二つ目のメソッドの flag という引数はメソッド内で "使用されていない"
呼び出されているメソッドにも引き渡されていない。
ちなみにサンプルコード上では arg も使用されていないけど、実際は使用されています。
最初に見たときに全く意図が理解できなかった。
これでいいじゃないか。
引数 1 つバージョンがほしいなら、 DoSomething(args, false) を呼び出すメソッドを作ればいい。
んでしばらく考えた。
要するに前者のメソッドが先にあり、後者のメソッドを後ほど追加しなければならなかったんだろう。
「既存のソースを書き直したくない、でもメソッドの機能的に同じ名前にしたい」ためにこんな風にしたんだろう。
全くもって迷惑な話だ。後任が意味をくみ取れない変更をするなよ
オーバーロードしたいがために、使用しない引数を追加するなんて論外だろ。。。。