代码改变世界

扩展方法

2011-06-08 16:31  suzh  阅读(293)  评论(0编辑  收藏  举报
1、扩展方法是给现有类型添加一个方法;

2、扩展方法是通过 指定关键字this修饰方法的第一个参数;

3、扩展方法必须声明在静态类中;

4、扩展方法要通用对象来调用;

5、扩展方法可以带参数。

//为button扩展方法funAA,传递布尔值参数

public static  void funAA(htis Button btn,bool bo)

{

}

 Button btn=new Button();

btn.funAA(true)

6、 (静态类静态方法)

public static class staticCls
{

  //在扩展方法里面 加了this 表示所有的object实例都可以调用这个方法
    // 对任何一个 object obj=new object();
    // 都可以用 obj.testMethod();  
    // 而本身.net的object类是没有testMethod这个方法的 所以叫扩展方法 
    public static void testMethod(this object obj)
    {
      return;
    }

  //this是关键字,是扩展方法时才用的,比如:

  //这是给string扩展toint32方法,this后面跟的是被扩展的类型名,然后才是真正的参数列表
  public static int toint32(this string source)
  {
    return int32.parse(source);
  }

}
public class Main()

{

  //调用扩展方法

   string aa="123";

   int bb= aa.toint32();

}