加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 输入参数与泛型

发布时间:2020-12-15 08:16:03 所属栏目:百科 来源:网络整理
导读:是否有理由使用Type参数而不是泛型,即: // this...void Foo(Type T);// ...over this.void FooT(); 在我看来,泛型更有用,因为它们提供泛型约束和C#4.0,逆变和协变,以及可能还有一些我不知道的其他功能.在我看来,通用形式具有所有优点,并且没有第一个也不具
是否有理由使用Type参数而不是泛型,即:
// this...
void Foo(Type T);
// ...over this.
void Foo<T>();

在我看来,泛型更有用,因为它们提供泛型约束和C#4.0,逆变和协变,以及可能还有一些我不知道的其他功能.在我看来,通用形式具有所有优点,并且没有第一个也不具有的负面效果.那么,有没有你使用第一个的情况?

解决方法

绝对:当你直到执行时才知道类型.例如:
foreach (Type t in someAssembly.GetTypes())
{
    Foo(t);
}

当Foo是通用的时候这样做是一个痛苦的屁股.这是可行的,但很痛苦.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读