这是一个委托的例子
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
MyDelete md = new MyDelete(A.Func);
md(2);
}
}
public delegate void MyDelete(float x);
public class A
{
public static void Func(float x)
{
Console.WriteLine("{0}的平方等于:{1}", x, x*x);
}
}
}
这样看来委托就是调用一个方法(实例方法或者是静态方法都可以)。
关于委托和事件:
在使用委托之前一定要先确定一个委托的类型。
public delegate void MyDelete(float x);
个人认为就是在后面的通过委托的返回值和后面的参数个数和参数类型来指定这个委托可以调用哪些事件。这就叫做确定一个委托的类型。
(只有一个委托和一个方法的返回值和参数的个数和参数类型一致,这个委托才能调用这个方法)
第二步:声明一个委托变量,并且创建一个委托。
创建委托:就是在参数列表中写上调用哪个哪个类的哪个方法。
MyDelete md = new MyDelete(A.Func);
第三步:
可以调用方法了。
md(2);
这括号里的参数实际上就是方法的参数。
是不是可以约等于看成这样:Func(2)