zwpsky

导航

 

如果不知道类的源代码,但又想对类进行扩展时,可以用扩展方法。它允许改变一个类而不需要源代码

扩展方法是静态方法,是类的一部分。

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);

 

posted on 2010-08-05 15:41  zwpsky  阅读(138)  评论(0)    收藏  举报