Dzwebs.Net

撰写电脑技术杂文十余年

c#委托的含义、委托的作用等诠释

Admin | 2012-11-11 7:10:37 | 被阅次数 | 9504

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  一、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);
        }
  }


该杂文来自: 网站开发杂文

上一篇:Visual Studio 2012介绍

下一篇:C#获取不同路径的代码

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计