(我会自己检查一下,但我没有VS2010(还))
假设我有2个基本接口:
IBaseModelInterface
IBaseViewInterface
Run Code Online (Sandbox Code Playgroud)
和2个接口实现这些:
ISubModelInterface : IBaseModelInterface
ISubViewInterface : IBaseViewInterface
Run Code Online (Sandbox Code Playgroud)
如果我定义一个Tuple<IBaseModelInterface, IBaseViewInterface>我想根据返回的工厂的结果设置它Tuple<ISubModelInterface, ISubViewInterface>.
在C#3中,即使子接口实现了基本接口,我也无法做到这一点.我非常确定C#4允许我这样做,IEnumerable<IBaseModelInterface>因为我现在使用in关键字来定义协方差.因此,没有Tuple让我这样做呢?
从我(小)我理解,协方差只允许在接口上,所以这是否意味着需要一个ITuple<T1, T2>接口?这存在吗?