委托初步了解(代码段展示)
程序员文章站
2024-01-14 08:35:40
一.非含参委托 结果:张三吃饭饭 > 二.含参数委托类 例一:目标函数中放一个参数 结果:先执行 赵六吃呵呵哒 例二:目标函数中放两个参数 结果:李四在使用吃的功能 赵六吃呵呵哒 例三:目标函数和委托类型均有两个参数 结果:李四在使用吃的功能 王五吃呵呵哒 赵六吃呵呵哒 洪七吃呵呵哒 ......
一.非含参委托
using system; namespace 委托 { //2 定义委托类型 委托和目标方法基本一致 public delegate void delegateeat(); class program {//1 应该有目标方法 public static void zseat() { console.writeline("张三吃饭饭--->"); } public static void lseat( ) { console.writeline("李四吃饭饭--->"); } public static void main(string[] args) { //3 申明委托变量 delegateeat delegateeat; //4 赋值 delegateeat = zseat; delegateeat += lseat; delegateeat += delegateeat; delegateeat -= lseat; //5 执行委托 delegateeat(); } } }
结果:张三吃饭饭--->
李四吃饭饭--->
张三吃饭饭--->
二.含参数委托类
例一:目标函数中放一个参数
using system; namespace consoleapplication1 { public delegate void delegateeat();//2 class program { /// 第一个参数放置符合类型的方法!!! public static void excdelegateeat(delegateeat de)//1 { console.writeline("先执行"); de(); } public static void lseat() { console.writeline("赵六吃呵呵哒"); } public static void main(string[] args) { excdelegateeat(lseat); } } }
结果:先执行
赵六吃呵呵哒
例二:目标函数中放两个参数
using system;namespace consoleapplication1 { public delegate void delegateeat();//2 class program { /// 第一个参数放置符合类型的方法!!! public static void excdelegateeat(delegateeat de, string username)//1 { console.writeline("{0}在使用吃的功能", username); de(); } public static void lseat() { console.writeline("赵六吃呵呵哒"); } public static void main(string[] args) { excdelegateeat(lseat, "李四"); } } }
结果:李四在使用吃的功能
赵六吃呵呵哒
例三:目标函数和委托类型均有两个参数
1 using system; 2 namespace consoleapplication1 3 { 4 public delegate void delegateeat(string x,string y);//2 5 class program 6 { 7 public static void excdelegateeat(delegateeat de, string username)//1 8 { 9 string tr = "王五"; 10 string er = "洪七"; 11 console.writeline("{0}在使用吃的功能", username); 12 de(tr,er); 13 } 14 public static void lseat(string m,string n) 15 { 16 console.writeline("{0}吃呵呵哒",m); 17 console.writeline("赵六吃呵呵哒"); 18 console.writeline("{0}吃呵呵哒",n); 19 } 20 public static void main(string[] args) 21 { 22 excdelegateeat(lseat, "李四"); 23 console.readkey(); 24 } 25 } 26 }
结果:李四在使用吃的功能
王五吃呵呵哒
赵六吃呵呵哒
洪七吃呵呵哒