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

C# 如何在泛型集合上创建扩展方法,c#,.net,oop,C#,.net,Oop,我有一个包含框架元素的列表,我想创建一个名为MoveToTop的扩展方法。所有这些都将接受该列表中的一个项目,并将其移动到列表的开头。我知道这可以在不使用扩展方法的情况下实现,但我希望它能够作为扩展方法实现 我很难理解创建接受泛型参数的扩展方法的语法。我知道这是不对的,但如果有人能给我一个如何实现这一点的想法,我将不胜感激 public static class Extensions { public static void MoveToTop(this ICollection<T

我有一个包含框架元素的列表,我想创建一个名为MoveToTop的扩展方法。所有这些都将接受该列表中的一个项目,并将其移动到列表的开头。我知道这可以在不使用扩展方法的情况下实现,但我希望它能够作为扩展方法实现

我很难理解创建接受泛型参数的扩展方法的语法。我知道这是不对的,但如果有人能给我一个如何实现这一点的想法,我将不胜感激

public static class Extensions
{
    public static void MoveToTop(this ICollection<T> sequence)
    {
        //logic for moving the item goes here.
    }
}
公共静态类扩展
{
公共静态void MoveToTop(此ICollection序列)
{
//移动项目的逻辑如下所示。
}
}

您已经很接近了,只需在括号前的方法名称后面添加
。这就是泛型方法的泛型类型参数列表所在的位置。它声明了方法将接受的泛型类型参数,从而使它们可以在参数、返回值和方法体中使用

public static class Extensions
{
    public static void MoveToTop<T>(this ICollection<T> sequence)
    {
        //logic for moving the item goes here.
    }
}
公共静态类扩展
{
公共静态void MoveToTop(此ICollection序列)
{
//移动项目的逻辑如下所示。
}
}

有关通用方法的更多信息,请参见此处:)