J'essaie d'utiliser des méthodes d'extension pour ajouter une surcharge d'opérateur à la StringBuilder
classe 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 blah
mé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?