泛型 – MonoTouch和支持变体通用接口

泛型 – MonoTouch和支持变体通用接口,第1张

概述以下示例在常规Mono 2.10.9中编译正常: namespace covarianttest{ public interface ITest<out T> : IEnumerable<T> { }} 但是,当我尝试针对MonoTouch 6.0.8进行编译时,我收到此错误: 错误CS1961:协变类型参数’T’必须在’covarianttest.ITest’上不变地 以下示例在常规Mono 2.10.9中编译正常:
namespace covarianttest{    public interface ITest<out T> : IEnumerable<T>    {    }}

但是,当我尝试针对Monotouch 6.0.8进行编译时,我收到此错误:

错误CS1961:协变类型参数’T’必须在’covarianttest.ITest’上不变地有效

那么我是否认为Monotouch不支持扩展协变/逆变通用接口呢?如果是这样,Monotouch中针对这种情况的推荐解决方法是什么?

解决方法 这实际上取决于编译器(和配置文件/运行时)而不是Mono版本. IOW有些东西可能适用于Mono 2.10而不适用于Monotouch 6.x.

当前版本的Monotouch附带了smcs编译器和基于2.1的配置文件(主要是Silverlight和一些.NET 4.0新增功能).

较新的功能,如协方差,需要一个完整的4.0编译器(例如Mono 2.10中的dmcs或Mono 3.0中的mcs)和运行时.

未来版本的Monotouch(可能在今年春季推出Alpha / beta于2013年初)将提供4.0 / 4.5运行时和编译器.

总结

以上是内存溢出为你收集整理的泛型 – MonoTouch和支持变体通用接口全部内容,希望文章能够帮你解决泛型 – MonoTouch和支持变体通用接口所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1113990.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存