Je veux écrire une méthode d'extension pour la classe List
qui prend un objet et l'ajoute à l'avant au lieu de l'arrière. Les méthodes d'extension me confondent vraiment. Est-ce que quelqu'un peut m'aider avec ça?
myList.AddToFront(T object);
List<T>
possède déjà une méthode Insert
qui accepte l'index dans lequel vous souhaitez insérer l'objet. Dans ce cas, c'est 0. Avez-vous vraiment l'intention de réinventer cette roue?
Si tu le faisais, tu le ferais comme ça
public static class MyExtensions
{
public static void AddToFront<T>(this List<T> list, T item)
{
// omits validation, etc.
list.Insert(0, item);
}
}
// elsewhere
List<int> list = new List<int>();
list.Add(2);
list.AddToFront(1);
// list is now 1, 2
Mais encore une fois, vous ne gagnez rien que vous n'avez pas déjà.