【问题标题】:Add extension method to a List and return one将扩展方法添加到列表并返回一个
【发布时间】:2016-04-10 16:40:47
【问题描述】:

我想为List 类编写一个扩展方法,它接受一个列表,对列表进行排序,然后将其返回。扩展方法真的让我感到困惑。有人可以帮我解决这个问题吗?

public static List<T> sort(this List<T> sortThisList)
{
return MyList//just a test
}

由于某种原因我无法调用扩展方法

List<T> MyList = List<T> tempList;
MyList.sort <<<< doesn't exist.

【问题讨论】:

  • 排序方法中:return sortThisList;,然后调用时:MyList.sort()
  • 首先修复除实际方法调用之外的所有代码中的各种编译器错误。
  • 是的,你不需要扩展方法,已经有一个List.Sort()。您似乎只是想排序然后返回排序后的列表,但我想说这是个坏主意,因为流畅的界面在这里并不合适。
  • 另外,将&lt;T&gt; 中的“T”替换为实际类型。
  • @JiJoeTheMan 那么你没有向我们展示你有问题的代码,因此,我们无法知道你做错了什么。

标签: c# list extension-methods


【解决方案1】:

首先创建一个静态类:

public static class ExtensionMethods
{

}

然后在上面添加你的扩展方法:

public static class ExtensionMethods
{
    public static List<T> sort(this List<T> sortThisList)
    {
        // Your code here

        return sortThisList;
    }

    public static void methodWithoutReturn(this List<T> sortThisList)
    {
        // Your code here
    }
}

【讨论】:

    猜你喜欢
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多