1

以下に示すように、ブール値を受け取る関数があります。

public void LoadEndPoints(bool mock)
{

}

これは、LoadEndpoints(true) または LoadEndpoints(false) を介して呼び出すことができますが、true/false が何を表しているかを知る必要があるため、これを理解するのは少し難しい場合があります。パラメータ名と値を LoadEndPoints(mock = true) などの関数に渡す方法はありますか?

4

5 に答える 5

3

はい!

パラメータ名は次のように指定できます。

myObject.LoadEndPoints(mock: true);

参考文献

コードの可読性を向上させる別の方法は、次のように列挙型を使用することです。

public enum LoadOption
{
    Normal,
    Mock
}

public void LoadEndPoints(LoadOption option)
{
    ...
}

次に、呼び出しは次のようになります。

myObject.LoadEndPoints(LoadOption.Mock);
于 2013-04-26T19:58:59.517 に答える
2

C# 4.0 の機能である「名前付き引数」を使用できます。したがって、次のように呼び出します。myObject.LoadEndPoints(mock : true);

読みやすさが本当に重要な場合は、2 つの明示的なメソッドを公開し、内部でロジックを再利用することもできます。次のようなものです。

    public void LoadEndPointsWithoutMock()
    {
        LoadEndPoints(false);
    }
    public void LoadEndPointsByMocking()
    {
        LoadEndPoints(true);
    }
    private void LoadEndPoints(bool mock)
    {

    }

LoadEndPointsWithoutMockまた、などは素晴らしいメソッド名だとは言えません。理想的には、名前はドメインと関係があるべきです。

于 2013-04-26T20:00:05.440 に答える
1

KeyValuePair を使用できます。

   KeyValuePair kvp = new KeyValuePair(BoolType, BoolValue)
于 2013-04-26T19:59:29.047 に答える
0

はい、C# で次の構文を使用して実行できます。

myObject.LoadEndPoints(mock : true);

そしてVBで:

myObject.LoadEndPoints(mock := true)
于 2013-04-26T20:00:02.870 に答える
0

名前付きパラメーターを使用します。この名前付きおよびオプションの引数を見てください

于 2013-04-26T20:00:13.493 に答える