Ben C # StringBuilder
sınıfına bir operatör aşırı yük eklemek için uzantı yöntemleri kullanmaya çalışıyorum . Özellikle, verilen StringBuilder
sb
, sb += "text"
eşdeğer olmak istiyorum sb.Append("text")
.
Aşağıdakiler için bir uzantı yöntemi oluşturmak için sözdizimi şöyledir StringBuilder
:
public static class sbExtensions
{
public static StringBuilder blah(this StringBuilder sb)
{
return sb;
}
}
blah
Uzantı yöntemini başarıyla ekler StringBuilder
.
Ne yazık ki, operatör aşırı yüklemesi işe yaramıyor:
public static class sbExtensions
{
public static StringBuilder operator +(this StringBuilder sb, string s)
{
return sb.Append(s);
}
}
Diğer sorunların yanı sıra, this
bu bağlamda anahtar kelimeye izin verilmez.
Genişletme yöntemleri ile operatör aşırı yüklemeleri eklemek mümkün müdür? Eğer öyleyse, bunun için uygun yol nedir?