• 泛型(二)泛型委托


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace 泛型委托
    {
        delegate  void  StackEventHandler<T,U>(T sender,U eventArgs); //定义委托
        //delegate  void   BinaryOp             (int x,   int y);         //非泛型定义委托

        class Stack<T>
        {
            public class StackEventArgs : EventArgs
            { }

            public event StackEventHandler<Stack<T>, StackEventArgs> stackEvent; //定义事件
            //public event BinaryOp                                    eventArgs;  //定义事件

            public virtual void OnStackChanged(StackEventArgs e)
            {
                stackEvent(this, e);
            }
        }

        class SampleClass
        {
            public void HandleStackChange<T>(Stack<T> stack, Stack<T>.StackEventArgs args)
            {
            }
        }

       

        class Program
        {
            public static void Test()
            {
                Stack<double> s = new Stack<double>();  //泛型
                SampleClass o = new SampleClass();      //对象实例化
                s.stackEvent += o.HandleStackChange;    //注册事件
            }

            static void Main(string[] args)
            {
                Test();
                Console.ReadKey();
            }
        }
    }

  • 相关阅读:
    试试 cocos creator 3.0 还算可以
    安卓按键辅助(类似按键精灵)
    一次github遭遇
    NSString
    Navicat for SQL Server V10.0.10
    申请博客第一天
    Google Earth的脫機應用-本地模擬瓦片系統
    Vs2010+opencv2.3.1 imread出现异常
    tcpdump工具注意事项
    选择服务器托管机房的注意事项
  • 原文地址:https://www.cnblogs.com/cpcpc/p/2123126.html
Copyright © 2020-2023  润新知