如何在泛型集合上创建扩展方法

时间:2012-02-21 15:55:01

标签: c# .net oop

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

我无法弄清楚创建接受泛型参数的扩展方法的语法。我知道这不正确,但如果有人能告诉我如何实现这一目标,我将不胜感激。

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

1 个答案:

答案 0 :(得分:56)

你很接近,只需在括号前的方法名后面加<T>。这就是放置泛型方法的泛型类型参数列表的位置。它声明了方法将接受的泛型类型参数,然后使它们可用于参数,返回值和方法体。

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