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