扩展方法允许改变一个类,但不需要该类的源代码。
扩展方法是静态方法创建例子如下:
public static class MoneyExtension
{
public static void AddToAmount(this Money money,decimal amountToAdd)
//第一个参数是要扩展的类型,放在this后面,告诉这个方法是Money类型的一部分
//在扩展方法中可访问扩展类型的所有公有方法和属性。
{
money.Amount+=amountToAdd;
}
}
调用与其他方法一样。实例化一个变量进行调用。
在重名的情况下,不会调用扩展方法。类中已有的任何实例方法优先。