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

你可能感兴趣的:(C#)