NEWS

技术文章

C#委托

编辑:
起点网络
发布时间:
2013-6-23
点击:

 一、C#委托的概念

  C#中的委托相当于C++中的函数指针(如果之前学过C++就知道函数指针是个什么概念的了),函数指针是用指针获取一个函数的入口地址,然后通过这个指针来实现对函数的操作。

  C#中的委托相当于C++中的函数指针,也就说两者是有区别的:委托是面向对象的,类型安全的,是引用类型(开始就说了委托是个类),所以在使用委托时首先要定义→声明→实例化→作为参数传递给方法→使用委托。

  委托是一种特殊的对象类型,其特殊之处在于,我们以前定义的所有对象都包含数据,而委托只包含方法的细节。在.net中方法不允许孤立存在,必须与类的实例相关联.如果要将方法作为参数传递,就必须把方法的细节封装在一种新类型的对象中,即委托。

  二、委托的作用

  引入委托后,编程人员可以把方法的引用封装在委托对象中(把过程的调用转化为对象的调用,充分体现了委托加强了面向对象编程的思想。),然后把委托对象传递给需要引用方法的代码,这样在编译的过程中我们并不知道调用了哪个方法,这样一来,C#引入委托机制后,使得方法声明和方法实现的分离,充分体现了面向对象的编程思想。

  三、c#委托示例代码

  protected void Page_Load(object sender, EventArgs e)
  {
        //声明委托的两种方法(命名和匿名)
        //匿名方法
        delegate1 p = delegate(string s)
        {
            Response.Write(s);
        };
        p("大众");
        //命名方法
        delegate1 p1 = new delegate1(testclass.print);
        p1("计算机");
  }
  delegate void delegate1(string s);
  class testclass
  {
        public static void print(string s)
        {
            HttpContext.Current.Response.Write(s);
        }
  }

标签  编程技术 C#
下一条新闻:jQuery选择器
相关文章

Copyright@宁波阳程网络科技有限公司. All rights reserved. Powered by 阳程网络       备案号:浙ICP备 16017710号