Ben C # StringBuildersı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;
}
}
blahUzantı 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, thisbu 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?