using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace C04委托的简单使用
{
public delegate void SayHi();
class Program
{
static void TestDelegate(SayHi s)
{
s();
}
static void Main(string[] args)
{
SayHi s1 = new SayHi(Test);
TestDelegate(s1);
//委托是用来保存多个方法的指针的.
//如果方法的指针要被委托对象保存 那么这个方法的签名要和委托的签名一样.
//使用+=为委托对象追加方法.
SayHi s = new SayHi(Test);
s += Test1;
s -= Test;
s();
//SayHi s = new SayHi(Test);
//s += Test1;
//s();
//SayHi s = new SayHi(Test);
//Test4(s);
Console.ReadKey();
}
static void Test4(SayHi s)
{
s();
}
static void Test()
{
Console.WriteLine("Test方法.");
}
static void Test1()
{
Console.WriteLine("我是方法2");
}
}
}