Подтвердить что ты не робот

Как создать метод расширения для общей коллекции

У меня есть список, содержащий FrameworkElements, и я хочу создать метод расширения, называемый MoveToTop. Все, что вам нужно сделать, это принять элемент, который является частью этого списка, и переместить его в начало списка. Я знаю, что это может быть выполнено без использования метода расширения, но я бы хотел, чтобы он был реализован как метод расширения.

У меня возникли проблемы с поиском синтаксиса для создания метода расширения, который принимает общий параметр. Я знаю, что это неверно, но если кто-то может дать мне представление о том, как это сделать, я был бы признателен.

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

Ответ 1

Вы были близки, просто нужно <T> после имени метода перед скобкой. Это то, где размещается список параметров типового типа для общих методов. Он объявляет общие параметры типа, которые будет принимать метод, который затем делает их доступными для использования в аргументах, возвращаемых значениях и методе.

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