2つの関数があるとします。
Foo(params INotifyPropertyChanged[] items)
{
//do stuff
}
Foo<T>(IEnumerable<T> items) where T : INotifyPropertyChanged
{
Foo(items.ToArray());
}
Foo
2つ目は、制約付きのジェネリッククラスから呼び出すことができますwhere T : INotifyPropertyChanged
が、2つ目はそれ自体に解決されるため、スタックオーバーフロー例外が発生します。
- あいまいな場合に呼び出すオーバーロードを指定することはできますか?
params
ジェネリック型の制約によってその型の実行可能なオプションになると仮定して、ジェネリッククラスから関数を呼び出す別の方法はありますparams
か?
前もって感謝します!