首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Type.GenericTypeArguments属性与Type.GetGenericArguments()方法

Type.GenericTypeArguments属性与Type.GetGenericArguments()方法
EN

Stack Overflow用户
提问于 2013-10-22 04:19:14
回答 2查看 7.1K关注 0票数 33

Type.GenericTypeArguments属性和Type.GetGenericArguments()方法有什么不同?它们是否总是返回相同的内容,或者是否存在不同的情况?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-22 04:31:27

typeof(List<>)就是它们不同的一个例子。property返回一个空数组,而method返回一个包含泛型T的数组。(此T具有IsGenericParameter true)

通过阅读文档,我认为您可以将GenericTypeArguments视为GetGenericArguments().Where(t => !t.IsGenericParameter).ToArray(),也就是说,只有具体的类型。另请参见ContainsGenericParameters

票数 36
EN

Stack Overflow用户

发布于 2020-07-08 00:51:46

参考源告诉我们确切的答案:

代码语言:javascript
复制
public virtual Type[] GenericTypeArguments{
    get{
        if(IsGenericType && !IsGenericTypeDefinition){
            return GetGenericArguments();
        }
        else{
            return Type.EmptyTypes;
    }
}

这个实现永远不会被其他东西覆盖。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19503905

复制
相关文章

相似问题

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