Aller au contenu

Méthodes génériques

Contexte : Une méthode générique déclare ses propres paramètres de type, indépendamment de la classe (qui peut elle‑même être générique ou non). Cela permet de créer une méthode qui fonctionne avec n’importe quel type, avec la sécurité de type à la compilation.

using System;
public class Utilitaire
{
// Méthode générique
public T Max<T>(T a, T b) where T : IComparable<T>
{
return a.CompareTo(b) > 0 ? a : b;
}
}
class Program
{
static void Main()
{
Utilitaire util = new Utilitaire();
int maxInt = util.Max(5, 10);
Console.WriteLine(maxInt);
string maxString = util.Max("pomme", "banane");
Console.WriteLine(maxString);
}
}
Fenêtre de terminal
dotnet run
10
pomme
  • Le paramètre de type est déclaré après le nom de la méthode et avant la liste des paramètres.
  • Les méthodes génériques peuvent être surchargées.
  • Les contraintes s’appliquent aux paramètres de type de la méthode.

LINQ – Les méthodes Select, Where, OrderBy sont des méthodes génériques qui travaillent avec des IEnumerable<T>.
Voir documentation .NET sur les méthodes génériques.