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
猜你喜欢
  • 2021-08-06
  • 2022-02-04
  • 2021-09-17
  • 2021-07-09
  • 2021-06-12
相关资源
相似解决方案