【词语】:委托
  【注音】:wěi tuō
  【释义】:1.将自己的事务嘱托他人代为处理。2.交结,结纳。3.犹依托,依靠。

引用类型

一种引用类型,它是 C++ 函数指针的托管版本。委托可以引用实例和静态(在 Visual Basic 中为 Shared)方法,而函数指针只能引用静态(在 Visual Basic 中为 Shared)方法。

在C#中,委托是一种可以把引用存储为函数的类型。

委托的声明非常类似于函数,但不带函数体,且要使用delegate关键字。

委托的声明指定了一个函数签名,其中包含一个返回类型和参数列表。

在定义了委托后,就可以声明该委托类型的变量。

接着将这个变量初始化为与该委托有相同签名的函数引用。

之后,就可以使用委托变量调用这个函数,就像 该变量是一个函数一样。

委托使用实例

示例1:

using System;

using System.Collections.Generic;

using System.Text;

using System.Web;

namespace MyDelegateTest

{

/// <summary>

/// 说明:一个简单的委托示例

/// 作者:fulans

/// </summary>

// 新建一个用以输出消息的委托

public delegate void WriteMessage();

public class WriteToWeb {

public static void StaticWrite()

{

HttpContext.Current.Response.Write("委托调用了一个静态方法。<br />");

}

public void Write()

{

HttpContext.Current.Response.Write("委托调用了一个类实例方法。<br />");

}

}

}

调用

protected void Page_Load(object sender, EventArgs e)

{

// 新建一个委托,回调函数是一个静态方法

WriteMessage wm = new WriteMessage(WriteToWeb.StaticWrite);

WriteToWeb w = new WriteToWeb();

// 新建一个委托并与加到先前建立的委托组成委托链,回调函数是一个类实例方法

wm += new WriteMessage(w.Write);

// 执行委托链上所有的回调函数

wm();

}

相关新闻

词条信息

  • 浏览次数: 977 次

  • 更新时间: 2015-01-08