を維持したい私は廃止したい、この古いメソッドのシグネチャがあります。あいまいなメソッド定義が、後方互換性
[Obsolete("This method has been replaced with one that uses an arguments object")]
public static T PollUntilReady<T>(
Func<T> functionThatMight503,
double minPollInterval = 0d,
double maxPollInterval = double.MaxValue,
double maxPollTotalTime = double.MaxValue);
を私がするパラメータ引数を使用して、より前向きなバリエーションでこれを置き換えたいです将来的に追加することができるさまざまなオプション:オプションが指定されていない場合
public static T PollUntilReady<T>(
Func<T> functionThatMight503,
PollingOptions pollingOptions = null);
問題があり、コンパイラは、メソッド呼び出しがあいまいであることを不平を言います。 ( "呼び出しは以下のメソッド間で曖昧です...")
新しい機能の名前を変更したり、新しいメソッドの柔軟性(オプションのオプションオブジェクト)を損なうことなくこれを解決できる方法はありますか?
'pollingOptions'パラメータとして' null'を渡します。 – DavidG
最も簡単な方法は、オプションパラメータとして 'pollingOptions'を持たないことでしょう。代わりに 'PollingOptions.Default'オブジェクトなどを用意しておけば、簡単に呼び出すことができます。 – MAV