1

オプションのパラメーターを持つこのメソッドがあります。

public static Test(String connection, Int32 retryInfiniteLoopGuard = 0)

クラスの外部からメソッドを呼び出すときに非表示になるように、どうにかしてretryInfiniteLoopGuardas をマークする方法はありますか?private

なぜ、retryInfiniteLoopGuard再帰実行用であり、ユーザーに表示されるべきではないのか...

今日はオーバーロードを使用していますが、他に方法はありますか?

4

3 に答える 3

17

そのパラメーターを使用してメソッドのプライベート オーバーロードを作成し、パブリック バージョンからパラメーターを削除します。パブリック バージョンがデフォルト値でプライベート バージョンを呼び出すようにするよりも、次のようにします。

private static int Test(string connection, int retryInfiniteLoopGuard)
{
    // The code
}

public static int Test(String connection)
{
    return Test(connection, 0);
}

その目標を達成する他の方法はありません。

于 2012-09-24T11:01:59.610 に答える
1

なぜ必要なのかわかりませんが、このような2つのメソッドを作成できます

public static Test(String connection, Int32 retryInfiniteLoopGuard)
{
    //method body
}

public static Test(String connection)
{
     Test(connection, 0);
}
于 2012-09-24T11:03:41.377 に答える