//代理类:它相当于C++当中的函数指针,与之不同的是,代理类在C#中是安全的
using System;
delegate int MyDelegate(); //声明一个代表
public class MyClass
{
public int InstanceMethod()
{
Console.WriteLine("Call the instance method.");
return 0;
}
static public int StaticMethod()
{
Console.WriteLine("Call the static method.");
return 0;
}
}
public class Test
{
static public void Main()
{
MyClass p = new MyClass();
MyDelegate d = new MyDelegate(p.InstanceMethod);//指向非静态方法InstanceMethod
d();//调用非静态方法
d = new MyDelegate(MyClass.StaticMethod);//指向静态方法InstanceMethod
d();//调用静态方法
}
}
评论