当前位置: 移动技术网 > IT编程>开发语言>.net > 委托初步了解(代码段展示)

委托初步了解(代码段展示)

2018年10月23日  | 移动技术网IT编程  | 我要评论

爱情公寓1 下载,宋小宝相亲1高清,712100.org

一.非含参委托

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 }

结果:李四在使用吃的功能

王五吃呵呵哒

赵六吃呵呵哒

洪七吃呵呵哒

 

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网