C#3.0"扩展方法"简记

C#3.0中增加了"扩展方法"这一代码扩展机制。对于已有类型,想对其进行扩展,但由于某种原因,不方便直接对源码进行修改,那么就可以通过扩展方法这一机制,将原类型的扩展方法写在其他类型中完成扩展,这样大大增强了C#语言的代码扩展方式,使用起来非常方便。

要使用扩展方法这一机制,值得注意的地方有:扩展方法不能访问原类型的私有数据、扩展方法只能写成静态类的静态方法形式、扩展方法的允许有参数、扩展方法参数的第一个参数前需加"this"、扩展方法只能通过原类型对象来调用等。

示例如下:

 

 public class EmployeeModel
    {
        
private int _basePay = 950;

        
public int Age
        {
            
get
            {
                
return _basePay;
            }
        }
    }

    
public static class SampleModelExtensions
    {
        
public static int GetTotalPay(this EmployeeModel model, int normalPay)
        {
            
return model.Age + normalPay;
        }
    }

调用代码为:

EmployeeModel model = new EmployeeModel();
int TotalPay = model.GetTotalPay(350);
this.Literal.Text = "TotalPay:" + TotalPay.ToString();

最终结果:TotalPay:1300

 

posted @ 2011-06-22 15:22  Shapley  阅读(158)  评论(0编辑  收藏  举报