首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >类型参数与泛型

类型参数与泛型
EN

Stack Overflow用户
提问于 2009-08-18 23:18:49
回答 3查看 1.2K关注 0票数 8

有没有理由使用Type参数而不是泛型,例如:

代码语言:javascript
运行
复制
// this...
void Foo(Type T);
// ...over this.
void Foo<T>();

在我看来,泛型更有用,因为它们提供了泛型约束,以及C# 4.0中的对立方差和协方差,以及一些我不知道的其他特性。在我看来,泛型形式具有所有的优点,并且没有第一种形式不具备的缺点。那么,有没有什么情况下你会用第一个来代替呢?

EN

Stack Overflow用户

回答已采纳

发布于 2009-08-18 23:19:53

绝对:当你在执行之前不知道类型的时候。例如:

代码语言:javascript
运行
复制
foreach (Type t in someAssembly.GetTypes())
{
    Foo(t);
}

Foo是通用的时,这样做是痛苦的。这是可行的,但也很痛苦。

它还允许参数为null,这在某些情况下会很有帮助。

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

https://stackoverflow.com/questions/1297079

复制
相关文章

相似问题

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