আমি সি # StringBuilder
শ্রেণিতে অপারেটর ওভারলোড যুক্ত করতে এক্সটেনশন পদ্ধতিগুলি ব্যবহার করার চেষ্টা করছি । বিশেষত, প্রদত্ত 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
এই প্রসঙ্গে অনুমোদিত নয়।
এক্সটেনশন পদ্ধতিগুলির মাধ্যমে অপারেটর ওভারলোডগুলি যুক্ত করা কি সম্ভব? যদি তা হয় তবে এটি সম্পর্কে সঠিক উপায় কী?