J'essaie d'utiliser des méthodes d'extension pour ajouter une surcharge d'opérateur à la StringBuilderclasse C # . Plus précisément, étant donné StringBuilder sb, j'aimerais sb += "text"devenir équivalent à sb.Append("text").
Voici la syntaxe pour créer une méthode d'extension pour StringBuilder:
public static class sbExtensions
{
public static StringBuilder blah(this StringBuilder sb)
{
return sb;
}
}
Il ajoute avec succès la blahméthode d'extension au fichier StringBuilder.
Malheureusement, la surcharge des opérateurs ne semble pas fonctionner:
public static class sbExtensions
{
public static StringBuilder operator +(this StringBuilder sb, string s)
{
return sb.Append(s);
}
}
Entre autres problèmes, le mot this- clé n'est pas autorisé dans ce contexte.
L'ajout de surcharges d'opérateurs via des méthodes d'extension est-il possible? Si oui, quelle est la bonne façon de procéder?