色を必要としないメソッドのオーバーロードを作成し、デフォルト値を使用する場合はそれを呼び出します (値をメソッドに渡すよりもメソッドで使用しない場合は、引数をまったく指定しない方がよいでしょうnull
)。
protected void myMethod(other parameters...)
また、オプションのパラメーターをパラメーターの最後に配置することをお勧めします。
protected void myMethod(other parameters.., Color color)
コード:
switch(value)
{
case 1: myMethod(..., Color.Red); break;
case 2: myMethod(..., Color.Black); break;
case 3: myMethod(...); break;
}
コンパイラに「オーバーロード」を作成するように依頼することもできます (コメントを参照)。
protected void myMethod(other parameters.., Color color = {DefaultColor})
注: 紛らわしいコードは避けたいと思います。例: コール
DrawPoint(10, 20, null)
私には非常に混乱しているように見えます。とはnull
? メソッドで誰も null を使用できないのに、なぜ null を渡すのですか? 次の呼び出しは見栄えが良くなります
DrawPoint(10, 20)
使用されないパラメーターを渡すことで呼び出し元を台無しにしません。意味を考える必要はありませんnull
。しかし、この場合でも、他の開発者にはまだ利用できない情報がいくつかわかっています。デフォルトの色でポイントを描画しており、メソッドはそれについて何も伝えていません。だから、私は別の方法を使用します
DrawPointWithDefaultColor(10, 20)
完全に混乱していません。