class Program
{
static void Main(string[] args)
{
//定义三个委托变量
MyDelegate d1, d2, d3,d4;
//变量关联方法
d1 = TestMethod1;
d2 = TestMethod2;
d3 = TestMethod3;
d4 = TestMethod1;
d4 += TestMethod2;
d4 += TestMethod3;
//调用三个委托实例
d1("d1");
d2("d2");
d3("d3");
Console.WriteLine("调用d4");
d4("d4");
//移除方法
Console.WriteLine("移除方法");
d4 -= TestMethod2;
d4("d4");
Console.ReadKey();
}
static void TestMethod1(string str)
{
Console.WriteLine($"这是方法一.参数:{str}");
}
static void TestMethod2(string str)
{
Console.WriteLine($"这是方法二.参数:{str}");
}
static void TestMethod3(string str)
{
Console.WriteLine($"这是方法三.参数:{str}");
}
public delegate void MyDelegate(string s);
}