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