Sto tentando di utilizzare metodi di estensione per aggiungere un sovraccarico dell'operatore alla StringBuilderclasse 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 blahmetodo 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 thisnon è consentita in questo contesto.
È possibile aggiungere sovraccarichi dell'operatore tramite metodi di estensione? In tal caso, qual è il modo corretto di procedere?