gpt4 book ai didi

.net - .NET 的 System.Type.GenericTypeArguments 和 System.Type.GetGenericArguments() 之间的区别

转载 作者:行者123 更新时间:2023-12-04 23:19:30 29 4
gpt4 key购买 nike

为什么 .NET Framework 同时提供

System.Type.GenericTypeArguments


System.Type.GetGenericArguments()

两者都返回给定泛型类型的类型参数(均作为 Type[] )?

似乎属性和方法公开了相同的功能,这意味着 API 的接口(interface)具有冗余/重复的功能?

最佳答案

  • GenericTypeArguments property如果类型是泛型类型定义,则返回一个空数组,而 GetGenericArguments method返回一个包含泛型参数类型的数组。
  • GenericTypeArguments属性是在框架 4.5 中添加的。
  • GenericTypeArguments属性实际实现调用 GetGenericArguments当类型是泛型类型的实现时:
    public virtual Type[] GenericTypeArguments {
    get {
    if (IsGenericType && !IsGenericTypeDefinition){
    return GetGenericArguments();
    } else {
    return Type.EmptyTypes;
    }
    }
    }

    来源: http://referencesource.microsoft.com/#mscorlib/system/type.cs,0aa31a7de47b9dc7

    关于.net - .NET 的 System.Type.GenericTypeArguments 和 System.Type.GetGenericArguments() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31809310/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com