如果不知道类的源代码,但又想对类进行扩展时,可以用扩展方法。它允许改变一个类而不需要源代码
扩展方法是静态方法,是类的一部分。
public class Money
{
private decimal amount;
public Decimal Amount{get;set;}
publci void test
{
.....
}
}
如果需要对类Money增加一个AddtoAmout方法,但又不能直接对源代码进行修改的情况下,则可以使用扩展方法
创建一个静态类,把方法AddtoAmount定义为一个静态方法
public static class MoneyE
{
public static void AddtoAmount(this Money money,decimal amountToAdd)
{
money.Amount+=amountToAdd;
}
}
扩展方法的第一个参数为要扩展的类型,它放在this关键字后面,告诉编译器,该方法是Money类型的一部分。
扩展方法的调用
Money m =new Money();
m.AddtoAmount(10);
浙公网安备 33010602011771号