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 2012-04-16 12:47:54
这就是自动“这是一个重复”评论系统补充道。 – asawyer 2012-04-16 12:49:07