以下に示すように、ブール値を受け取る関数があります。
public void LoadEndPoints(bool mock)
{
}
これは、LoadEndpoints(true) または LoadEndpoints(false) を介して呼び出すことができますが、true/false が何を表しているかを知る必要があるため、これを理解するのは少し難しい場合があります。パラメータ名と値を LoadEndPoints(mock = true) などの関数に渡す方法はありますか?
はい!
パラメータ名は次のように指定できます。
myObject.LoadEndPoints(mock: true);
参考文献
コードの可読性を向上させる別の方法は、次のように列挙型を使用することです。
public enum LoadOption
{
Normal,
Mock
}
public void LoadEndPoints(LoadOption option)
{
...
}
次に、呼び出しは次のようになります。
myObject.LoadEndPoints(LoadOption.Mock);
C# 4.0 の機能である「名前付き引数」を使用できます。したがって、次のように呼び出します。myObject.LoadEndPoints(mock : true);
読みやすさが本当に重要な場合は、2 つの明示的なメソッドを公開し、内部でロジックを再利用することもできます。次のようなものです。
public void LoadEndPointsWithoutMock()
{
LoadEndPoints(false);
}
public void LoadEndPointsByMocking()
{
LoadEndPoints(true);
}
private void LoadEndPoints(bool mock)
{
}
LoadEndPointsWithoutMock
また、などは素晴らしいメソッド名だとは言えません。理想的には、名前はドメインと関係があるべきです。
KeyValuePair を使用できます。
KeyValuePair kvp = new KeyValuePair(BoolType, BoolValue)
はい、C# で次の構文を使用して実行できます。
myObject.LoadEndPoints(mock : true);
そしてVBで:
myObject.LoadEndPoints(mock := true)
名前付きパラメーターを使用します。この名前付きおよびオプションの引数を見てください