您的位置:首页 > 编程语言 > C#

C# 的委托总结

2009-08-03 10:31 260 查看
C# 的委托总结
2009-07-31 12:18

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();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: