5
public void Foo<T>(Func<T> bar)
where T: IMyInterface
{
Func<IMyInterface> func = bar;
}
私が共分散を理解のだ以来、しばらくしているが、これはコンパイルされないでしょうか?共分散、代表者およびジェネリック型制約
bar
も返品可能ですIMyInterface
です。問題であると想定されるのは?
public void Foo<T>(Func<T> bar)
where T: IMyInterface
{
Func<IMyInterface> func = bar;
}
私が共分散を理解のだ以来、しばらくしているが、これはコンパイルされないでしょうか?共分散、代表者およびジェネリック型制約
bar
も返品可能ですIMyInterface
です。問題であると想定されるのは?
Is this a covariance bug in C# 4?
正しいコードは次のとおりです。
public void Foo<T>(Func<T> bar)
where T: class, IMyInterface
{
Func<IMyInterface> func = bar;
}
ええけど鉱山はきれいです:D「これが重複している」自動だ – TDaver
をシステムが追加されますコメント。 – asawyer