简单的Delegate(委托)例子

原创 2007年10月01日 10:34:00
  今天学习一下好久都不愿意碰的Delegate,虽然不是很明白,还是写了一个小例子(参考园子里的朋友们的),希望加深一下印象.朋友们说它类似于C++的函数指针,指向一个函数,运行的时候可以调用这个函数.
  步骤:
  1. 声明一个delegate对象。
  2. 实现和delegate具有相同参数和返回值的函数实现(可以是静态和非静态的)。
  3. 产生一个delegate对象的时候,把你刚刚实现的函数作为参数传给他的构造函数。

  代码如下:
Default.aspx.cs中:
public partial class _Default : System.Web.UI.Page
{
//第一步,声明一个delegate对象
  public delegate void Mydelegate(string mydelegate);
  protected void Page_Load(object sender, EventArgs e)
  {
//第三步 产生一个delegate对象的时候,把你刚刚实现的函数(方法)作为参数传给他的构造函数。
Mydelegate hello = new Mydelegate(Hello);
hello("hello");
Mydelegate statichello = new Mydelegate(staticHello);
statichello("beijing");

}
  //第二步 实现和delegate具有相同参数和返回值的函数实现(非静态的)
  //这里的参数是mydelegate,返回值是void
public void Hello(string mydelegate)
{
Response.Write(mydelegate);
}
  //第二步 实现和delegate具有相同参数和返回值的函数实现(静态的)
  //这里的参数是mydelegate,返回值是void
public static void staticHello(string mydelegate)
{
HttpContext.Current.Response.Write(mydelegate);
}
}

输出结果:hellobeijing
 

观察者模式(observer)之委托(delegate) c#简单例子

观察者模式(observer)之委托(delegate) c#简单例子 几个要点:模式使目标与观察都之间的依赖关系达到松耦合、通知会自动传播 例子:玩家击中敌人后发生一系列变化:发后爆炸、敌人少1个....

iOS delegate 简单小例子

  • 2014年05月20日 01:27
  • 56KB
  • 下载

c++高效委托的实现(fast delegate---简单、高效、跨平台)

概要 很遗憾, C++ 标准中没能提供面向对象的函数指针. 面向对象的函数指针也被称为闭包(closures) 或委托(delegates), 在类似的语言中已经体现出了它的价值. 在 Delp...

C#_delegate - Pair<T> & 简单顺序逆序 & 方法委托(在Pair类下)&枚举类型 混搭使用

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T...

c++高效委托的实现(fast delegate---简单、高效、跨平台)

概要 很遗憾, C++ 标准中没能提供面向对象的函数指针. 面向对象的函数指针也被称为闭包(closures) 或委托(delegates), 在类似的语言中已经体现出了它的价值. 在 Delp...

unity delegate和event的例子

  • 2015年01月21日 16:51
  • 1.88MB
  • 下载

qt model view Delegate的例子

  • 2017年07月21日 20:29
  • 8KB
  • 下载

Delegate比较全面的例子(需整理)

将Delegate理解为接口,只有一个方法的接口,这样最容易理解。这个方法只有声明,没有实现,实现在别的类。(实际上应该把它看作函数指针,不过接口更容易理解些。) 在你的类中有一个Delegate就...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:简单的Delegate(委托)例子
举报原因:
原因补充:

(最多只允许输入30个字)