如何解决C#中的协方差和协方差的实际目的是什么?
我刚刚了解了“逆变”和“协变”的含义。尽管互联网上有很多资源可以解释这两个术语的含义,但只有少数资源简要地描述了这两个术语的含义。因此,我很难理解何时使用协变和协变接口和委托。我也不明白为什么System
dll中的某些接口是协变和逆变的(例如,这是我的问题主要针对的),例如:
IEnumerable<object> str = new List<string>();
为什么应该这样做而不是:
IEnumerable<object> objs = new List<object>():
并且,如果我们假设有一个Obj
方法带有一个object
类型的参数,那么为什么Action<string> del1
委托能够引用该方法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。