3.3(1.委托 2.事件 3.字典)

来源:互联网 发布:python3防止sql注入 编辑:程序博客网 时间:2024/06/05 09:56

1.委托(“调用方法”)

           1.格式:

                       1.声明委托事件:修饰符 delegate 返回类型 委托类型名称(参数表)(返回类型和参数表所用的格式要统一)
                                                       public delegate float EventDele(float x, float y);

                        2.实例化另外一个类:_Math math = new _Math();(主要用于下面的类的方法调用)

                        3.实例化委托:1.普通委托(特点:方法的名字)(委托已经将另外的类的方法进行了调用)

                                                    EventDele eventDele = new EventDele(math.Add);

                                                    2.匿名委托(特点:关键字(参数){方法体})

                                                    EventDele eventDele1 = delegate (float x1, float y1) { return x1 * y1; };

                                                    3.λ表达式 

                                                    EventDele eventDele2 = (float x1, float y1) => { return x1 * y1; };

                                                    (其中2和3本质是相同的,写法不同)

             2.多重委托:实例化的委托 +=;-= new 声明的委托  (实例化的另外的类的名字.它下面的方法)

                                     SendEve.Event += new EventHandler(ConsoleData);               

             3.方法回调:   对于1.的普通委托,要调用另外的方法的话,就要回调相应的参数

                                       1.格式:实例化的委托 (参数)

          public delegate void Event();
        public float Add(float x, float y)
        {     
            Event min = new Event(output);
            min(x,y);    

        }       

       public void output(float x,float y)
        {
            Console.WriteLine("进入下一步");        
        } 

2.事件

           1.声明事件委托类型(1.它可在命名空间下创建,也可以在类下创建  2.事件的想法 )

              格式:修饰符(只有publicinternal两种,默认值是internal) delegate void 事件委托类型名称(触发事件对象的名称,事件参数)

           2. 创建事件处理方法(1.消息的传递)

           3.声明一个事件(1.关键字event 2.事件是类的成员  3.实例化去执行事件的想法)

              格式:修饰符 event 事件委托类型名称 事件名称

           4. 事件的取消和订阅 (1.实践的出发条件 2.+=;-= 3.同理与多重委托)

3.字典

           1.格式:键值<key.name,key内容>

                          public Dictionary<string,infor>dic = new Dictionary<string,infor> ();

                          public void AddDic()

                           {

                               for()

                            }        

                              

           


0 0
原创粉丝点击