ฉันกำลังพยายามใช้วิธีการขยายเพื่อเพิ่มตัวดำเนินการเกินพิกัดให้กับStringBuilder
คลาสC # โดยเฉพาะได้รับStringBuilder
sb
ฉันต้องการที่จะกลายเป็นเทียบเท่ากับsb += "text"
sb.Append("text")
นี่คือไวยากรณ์สำหรับการสร้างวิธีการขยายสำหรับStringBuilder
:
public static class sbExtensions
{
public static StringBuilder blah(this StringBuilder sb)
{
return sb;
}
}
มันประสบความสำเร็จเพิ่มวิธีขยายไปยังblah
StringBuilder
น่าเสียดายที่การใช้งานมากเกินไปดูเหมือนจะไม่ทำงาน:
public static class sbExtensions
{
public static StringBuilder operator +(this StringBuilder sb, string s)
{
return sb.Append(s);
}
}
ในประเด็นอื่น ๆ คำหลักthis
ไม่ได้รับอนุญาตในบริบทนี้
มีการเพิ่มโอเปอเรเตอร์เกินพิกัดผ่านวิธีการขยายหรือไม่ ถ้าอย่างนั้นเป็นวิธีที่เหมาะสมที่จะไปเกี่ยวกับมันคืออะไร?