Delegate类简介
------------------------
命名空间:System
程序集:mscorlib(在 mscorlib.dll 中)
委托(Delegate)类是一种数据结构,通过它可引用静态方法或引用类实例及该类的实例方法。
以往的界面编程中我们应该都接触过各种类型的事件驱动(event driven)的处理模式,
在这种模式里,我们定义相应事件触发的函数。
例如:
Button1 的 Click事件,我们可以编写Button1_Click 或 Btn1Clicked等函数来做相应的驱动处理。
而事件与驱动函数的对应关系就是通过委托(Delegate)类来关联的。
其实委托(Delegate)类这种数据结构有些类似于之前C/C++中的函数指针。
Delegate类一个简单应用
------------------------
1.定义一个Delegate函数数据结构
2.定义Delegate将引用的静态方法或引用类实例及该类的实例方法
3.Delegate数据变量指向实例方法
4.通过Delegate数据变量执行实例方法
A very basic example (TestClass.cs):
![]()
1 using System;
2
3 namespace MySample
4 {
5 class TestClass
6 {
7 //1.定义一个Delegate函数数据结构
8 public delegate void GoDelegate();
9
10 [STAThread]
11 static void Main(string[] args)
12 {
13 //3.Delegate数据变量指向实例方法
14 GoDelegate goDelegate = new GoDelegate( MyDelegateFunc);
15
16 //4.通过Delegate数据变量执行实例方法
17 goDelegate();
18 return;
19 }
20
21 //2.定义Delegate将引用的静态方法或引用类实例及该类的实例方法
22 public static void MyDelegateFunc()
23 {
24 Console.WriteLine("delegate function...");
25 }
26 }
27 }
View Code
相关文章:
-
2022-01-04
-
2022-01-06
-
2021-05-18
-
2021-12-09
-
2021-06-30