Próbuję użyć metod rozszerzających, aby dodać przeciążenie operatora do StringBuilder
klasy C # . Konkretnie biorąc StringBuilder
sb
, chciałbym sb += "text"
stać się odpowiednikiem sb.Append("text")
.
Oto składnia tworzenia metody rozszerzenia dla StringBuilder
:
public static class sbExtensions
{
public static StringBuilder blah(this StringBuilder sb)
{
return sb;
}
}
Pomyślnie dodaje blah
metodę rozszerzenia do StringBuilder
.
Niestety, wydaje się, że przeciążenie operatora nie działa:
public static class sbExtensions
{
public static StringBuilder operator +(this StringBuilder sb, string s)
{
return sb.Append(s);
}
}
Między innymi słowo kluczowe this
nie jest dozwolone w tym kontekście.
Czy jest możliwe dodawanie przeciążeń operatorów za pomocą metod rozszerzających? Jeśli tak, jaki jest właściwy sposób, aby to zrobić?