using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace Test
{
public class Class1
{
/*声明委托*/
public delegate void GreetingDelegate1(string name,string name2);//多参数委托
public delegate void GreetingDelegate2(string name); //单参数委托
/*使用委托定义新方法*/
private void GreetPeople1(string name,string name2, GreetingDelegate1 MakeGreeting)
{
MakeGreeting(name,name2);
}
private void GreetPeople2(string name,GreetingDelegate2 gd) {
gd(name);
}
/*定义委托的方法*/
private static void show1(string name,string name2) {
Console.WriteLine("name1:"+name+"name2"+name2+"/n");
}
private static void show2(string name,string name2)
{
Console.WriteLine("name2:" + name + "name1:" + name2 + "/n");
}
private static void show3(string name) {
Console.WriteLine("单参数show3"+name+"/n");
}
static void Main(string[] args) {
Class1 c = new Class1();
/*使用委托定义的方法*/
c.GreetPeople1("show2多参数","2222222", Class1.show2);
c.GreetPeople1("show2多参数", "111111", Class1.show1);
c.GreetPeople2("show3单参数",Class1.show3);
/*直接使用委托*/
GreetingDelegate1 s = show1; //直接定义委托类型的方法变量,并且赋值。
s("name1","name2"); //使用方法变量
s = show2;
s("1111", "2222");
s += show1;
s("zj1","zj2");
Console.ReadKey();
}
}
}
C# 的委托总结
最新推荐文章于 2022-10-26 13:00:14 发布
C# 的委托总结
2009-07-31 12:18