【问题标题】:Symbol not found on Comparer<T>在 Comparer<T> 上找不到符号
【发布时间】:2015-09-06 03:41:12
【问题描述】:

我正在使用 .net 框架 4.0

由于某种原因,Visual Studio 将方法突出显示为红色,并且工具提示有:

'无法解析符号'创建''

我不明白为什么编译器会抱怨。它是通用 .net 框架类上的静态方法:

System.Collections.Generic.Comparer<string>.Create((x,y)=>x.CompareTo(y));

方法 Create 存在于 Comparer 类中。静态方法/属性的 Visual Studio 下拉选项仅向我显示类 Comparer 上的静态属性“默认”,我不明白为什么它不显示静态 Create 方法。

这是该类的微软代码:

public abstract class Comparer<T> : IComparer, IComparer<T>
{
    public static Comparer<T> Create(Comparison<T> comparison)
    {
        Contract.Ensures(Contract.Result<Comparer<T>>() != null);

        if (comparison == null)
            throw new ArgumentNullException("comparison");

        return new ComparisonComparer<T>(comparison);
    }

【问题讨论】:

  • 检查您使用的 .NET Framework 版本。也许Create 在“客户资料”或其他任何地方都不可用。

标签: c# .net generics abstract


【解决方案1】:

好的 - 感谢 John Saunders - 我查看了 microsoft 文档并在 .net 4.5 中引入了 create 方法。

我不确定为什么当项目设置为 4.0 时,Visual Studio 会显示 .net 4.5 版本的代码

【讨论】:

    猜你喜欢
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 2016-06-29
    • 2015-11-01
    • 1970-01-01
    相关资源
    最近更新 更多