首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于泛型函数参数的问题

关于泛型函数参数的问题
EN

Stack Overflow用户
提问于 2010-08-06 13:08:24
回答 4查看 183关注 0票数 0

我只是想知道为什么把System.Collections.Generic.List<string>传递给这个函数test(ICollection<object> t)不起作用,为什么我不能像传递string一样传递给test2(object t)

对我来说没什么意义!

EN

Stack Overflow用户

回答已采纳

发布于 2010-08-06 13:17:59

因为ICollection不是一个只输出的接口,所以它不是协变的。

考虑下面的代码:

代码语言:javascript
复制
void test(ICollection<object> t)
{
    t.Add(new TextBox());
}

List<string> lst;
test(lst);

test尝试将TextBox填充到List<string>中时,会发生什么情况

ICollection<object>的约定是可以放入任何object,并且输出的项将始终是object类型。但List<string>只满足了这一合同的一半。

票数 7
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3421138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档