たとえば、引数のために MethodOne を呼び出すメソッドがあるとします。
public void MethodOne()
{
//do stuff.
}
ここで、オプションの peramater を作成したいとしましょう。たとえば、別のオーバーロードを取る同じ名前の別のメソッドを作成することを決定する場合があります。
public void MethodOne()
{
//do stuff.
}
public void MethodOne(bool checkVar)
{
if(checkVar)
{
//do stuff
}
else
{
//do other stuff
}
}
これで、2 つの異なるオーバーロードの組み合わせ (?) を持つメソッドができました。これは、実際には、1 つのメソッドを持つよりも優れており、オプションのオーバーロードが null であるか、情報が含まれているかどうかを確認するだけです。
public void MethodOne(int? testVar)
{
if(testVar != null)
{
//do stuff
}
}
これは 1 つのオーバーロードだけでは些細なことのように思えるかもしれませんが、通過させたい 5 つの変数があると想像してください。5 つのメソッドを作成し、同じ名前で異なるオーバーロードを使用するか、または 1 つのメソッドだけを作成して、渡された変数をチェックしますか?