Les méthodes d'extension
Apparence
Disponible à partir de C# 3, elles permettent d'ajouter des méthodes à une classe ou à une structure sans en modifier son code.
![]() |
|
// Déclaration de la méthode d'extension dans une classe static
public static class StringExtensions
{
/// <summary>
/// A Contains method with a comparison type.
/// </summary>
public static bool Contains(this string source, string value, StringComparison comparisonType)
{
return source.IndexOf(value, comparisonType) >= 0;
}
}
// Utilisation de la méthode d'extension : comparaison de string en ignorant la casse
var monString = "ASTRINGTOTEST";
monString.Contains("string", StringComparison.OrdinalIgnoreCase);
|
Avec les génériques
public static class IListExtensions
{
/// <summary>
/// Un AddRange pour IList.
/// </summary>
public static void AddRange<T>(this IList<T> source, IEnumerable<T> items)
{
foreach (var item in items)
{
source.Add(item);
}
}
}
// Utilisation de la méthode d'extension :
var maListe = new List<string>();
maListe.AddRange(new string[] { "1", "2", "3" });;
|