擴展方法允許改變一個類,但不需要該類的源代碼。
擴展方法是靜態方法創建例子如下:
public static class MoneyExtension
{
public static void AddToAmount(this Money money,decimal amountToAdd)
//第一個參數是要擴展的類型,放在this後面,告訴這個方法是Money類型的一部分
//在擴展方法中可訪問擴展類型的所有公有方法和屬性。
{
money.Amount+=amountToAdd;
}
}
調用與其他方法一樣。實例化一個變量進行調用。
在重名的情況下,不會調用擴展方法。類中已有的任何實例方法優先。