โดยทั่วไปฉันต้องการใช้ส่วนขยายของตัวเองเพื่อ:
string data = "THExxQUICKxxBROWNxxFOX";
var dataspt = data.Split("xx");
//>THE QUICK BROWN FOX
//the extension class must be declared as static
public static class StringExtension
{
public static string[] Split(this string str, string splitter)
{
return str.Split(new[] { splitter }, StringSplitOptions.None);
}
}
อย่างไรก็ตามสิ่งนี้จะนำไปสู่ข้อยกเว้นหาก Microsoft ตัดสินใจที่จะรวมการโอเวอร์โหลดเมธอดนี้ในเวอร์ชันที่ใหม่กว่า นอกจากนี้ยังเป็นสาเหตุที่ทำให้ Microsoft ไม่ได้รวมวิธีนี้ในเวลาเดียวกัน: อย่างน้อยหนึ่ง บริษัท ที่ฉันทำงานให้ใช้ส่วนขยายดังกล่าวในโครงการ C # ทั้งหมดของพวกเขา
นอกจากนี้ยังอาจเป็นไปได้ที่จะกำหนดวิธีตามเงื่อนไขที่รันไทม์หากไม่มีอยู่