擴充套件方法是靜態方法,是類的一部分,但是實際上沒有放在類的源**中。
擴充套件方法所在的類也必須被宣告為static
c#只支援擴充套件方法,不支援擴充套件屬性、擴充套件事件等。
擴充套件方法的第乙個引數是要擴充套件的型別,放在this關鍵字的後面,告訴編譯期這個方法是money型別的一部分。
在擴充套件方法中,可以訪問擴充套件型別的所有公共方法和屬性。
「擴充套件方法使您能夠向現有型別「新增」方法,而無需建立新的派生型別、重新編譯或以其他方式修改原始型別。」
這是msdn上說的,也就是你可以對string,int,datarow,datatable等這些型別的基礎上增加乙個或多個方法,使用時不需要去修改或編譯型別本身的**。
class program
}public class money
set}
public override string tostring()
}public static class moneyextension
}
namespace extensioninte***cemethod
}//先建立乙個簡單的介面
public inte***ce ibasicinte***ce
//建立乙個實現該介面的類
public class basicimplement : ibasicinte***ce
#endregion
}}
如果想要為該介面ibasicinte***ce增加乙個相減的subtract方法,在擴充套件方法中新定義乙個subtract方法。
namespace extensioninte***cemethod
}
因為是介面擴充套件方法,所以不打算為這個擴充套件方法提供任何**實現。
編譯時執行報錯,解決方法,在介面擴充套件方法中實現**。
namespace extensioninte***cemethod
}}
C 擴充套件方法的理解
c 擴充套件方法的理解 擴充套件方法使您能夠向現有型別 新增 方法,而無需建立新的派生型別 重新編譯或以其他方式修改原始型別。這是msdn上說的,也就是你可以對string,int,datarow,datatable等這些型別的基礎上增加乙個或多個方法,使用時不需要去修改或編譯型別本身的 先做個例子...
C 擴充套件方法的理解
擴充套件方法使您能夠向現有型別 新增 方法,而無需建立新的派生型別 重新編譯或以其他方式修改原始型別。這是msdn上說的,也就是你可以對string,int,datarow,datatable等這些型別的基礎上增加乙個或多個方法,使用時不需要去修改或編譯型別本身的 先做個例子吧,以string為例,...
C 擴充套件方法的理解
擴充套件方法使您能夠向現有型別 新增 方法,而無需建立新的派生型別 重新編譯或以其他方式修改原始型別。這是msdn上說的,也就是你可以對string,int,datarow,datatable等這些型別的基礎上增加乙個或多個方法,使用時不需要去修改或編譯型別本身的 先做個例子吧,以string為例,...