📄 class1.cs
字号:
using System;
namespace testDelegateApp
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
Class1 aClass = new Class1 ();
MyDelegate aDele = new MyDelegate ( Class1.StaticFunction ); //实例化一个delegate为静态方法
aDele(10); //调用delegate中的函数
aDele = new MyDelegate ( aClass.InstanceFunction ); //实例化一个delegate为实例方法
aDele(100);
aClass.CallDele(new MyDelegate ( aClass.InstanceFunction )); //把静态函数作为参数传递
aClass.CallDele(new MyDelegate ( Class1.StaticFunction )); //把实例函数作为参数传递
}
public delegate void MyDelegate(int i); //声明delegate
public static void StaticFunction(int i)
{//接受delegate委托的static方法
Console.WriteLine ("调用Class1静态方法,{0}",i);
Console.WriteLine ();
}
public void InstanceFunction(int i)
{//接受delegate委托的实例方法
Console.WriteLine ("调用Class1实例方法,{0}",i);
}
public void CallDele(MyDelegate aDeleFunction)
{//以delegate对象作为参数的方法
Console.Write ("在Class1实例函数中:");
aDeleFunction(100);
Console.WriteLine ();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -