【问题标题】:How to create extension method on generic collection如何在泛型集合上创建扩展方法
【发布时间】:2012-03-11 22:41:37
【问题描述】:

我有一个包含 FrameworkElements 的列表,我想创建一个名为 MoveToTop 的扩展方法。所有这一切都会接受一个属于该列表的项目并将其移动到列表的开头。我知道这可以在不使用扩展方法的情况下完成,但我希望它可以作为扩展方法来实现。

我在试图找出创建接受泛型参数的扩展方法的语法时遇到了麻烦。我知道这是不正确的,但如果有人可以告诉我如何实现这一点,我将不胜感激。

public static class Extensions
{
    public static void MoveToTop(this ICollection<T> sequence)
    {
        //logic for moving the item goes here.
    }
}

【问题讨论】:

标签: c# .net oop


【解决方案1】:

您很接近,只需要括号前的方法名称后的&lt;T&gt;。那是放置泛型方法的泛型类型参数列表的地方。它声明方法将接受的泛型类型参数,然后使它们可用于参数、返回值和方法体。

public static class Extensions
{
    public static void MoveToTop<T>(this ICollection<T> sequence)
    {
        //logic for moving the item goes here.
    }
}

【讨论】:

    猜你喜欢
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多