C#委托的关键字为delegate,其用法与C++中的函数指针类似(更详细的说明可参考这里)
先定义一个类以供操作
class student
{
protected string _name;
public student(string name)
{
_name = name;
}
public string getname()
{
return _name;
}
pubic void printname()
{
Console.WriteLine(_name)
};
}
1.定义一个委托方法
delegate void act();
这里定义了一个返回值为void,没有参数的委托方法act,所以赋值时赋值的方法其返回值也为void且没有参数。
2.定义一个委托对象
act a=null;
这个对象a相当于C++中的空指针。
3.赋值
student s= new stduent("wang");
a=s.printname;//正确
a=s.getname;//错误,返回值不一致,getname返回值为string,a的为void