委托学习小案例一

委托学习小案例一

 

 class Program
    {
        //1.委托的声明
        public delegate void GetIntDelegate(int a); 
        public class getIntClass
        {
            //2.定义委托的使用方法
            public static void SetDelegateString(int a, GetIntDelegate getIntDelegate)
            {
                //使用委托,传入参数
                getIntDelegate(a);
            }
            
            //3.委托引用方法的定义
            public void getInt1(int a)
            { 
                //方法1
                Console.WriteLine("getInt1方法调用,参数为:" + a);
            }
            public void getInt2(int a)
            { 
                //方法2
                Console.WriteLine("getInt2方法调用,参数为:" + a);
            }
            static void Main(string[] args)
            {
                //4.委托实例化调用
                getIntClass gc = new getIntClass();
                getIntClass.SetDelegateString(5, gc.getInt1);  //方法1,2的引用作为委托的参数
                getIntClass.SetDelegateString(10, gc.getInt2);
                Console.WriteLine("=====================");

                //将方法绑定委托
                GetIntDelegate getIntDelegate;
                getIntDelegate = gc.getInt1;     //将方法1,2绑定到委托
                getIntDelegate += gc.getInt2;
                getIntClass.SetDelegateString(100, getIntDelegate);
                Console.Read();
            }
        }
    }

 

 

 

posted @ 2021-05-14 14:21  码农阿亮  阅读(67)  评论(0编辑  收藏  举报