Sto tentando di utilizzare metodi di estensione per aggiungere un sovraccarico dell'operatore alla StringBuilder
classe C # . In particolare, dato StringBuilder
sb
, vorrei sb += "text"
diventare equivalente a sb.Append("text")
.
Ecco la sintassi per la creazione di un metodo di estensione per StringBuilder
:
public static class sbExtensions
{
public static StringBuilder blah(this StringBuilder sb)
{
return sb;
}
}
Aggiunge correttamente il blah
metodo di estensione a StringBuilder
.
Sfortunatamente, il sovraccarico dell'operatore non sembra funzionare:
public static class sbExtensions
{
public static StringBuilder operator +(this StringBuilder sb, string s)
{
return sb.Append(s);
}
}
Tra le altre questioni, la parola chiave this
non è consentita in questo contesto.
È possibile aggiungere sovraccarichi dell'operatore tramite metodi di estensione? In tal caso, qual è il modo corretto di procedere?