• 委托与泛型


    个人理解,一个是使方法可变,一个是使类型可变

    //例1:委托

    View Code
     static void Main(string[] args)
            {
                ShowMsg("msg", ShowFun1);
                ShowMsg("msg", ShowFun2);
                Console.ReadKey();
            }
            public delegate void DelegateShow(string msg);  //声明方法的参数
            public static void ShowFun1(string msg)  //具体方法
            {
                Console.WriteLine("ShowFun1:" + msg);
            }
            public static void ShowFun2(string msg)
            {
                Console.WriteLine("ShowFun2:" + msg);
            }
            public static void ShowMsg(string msg, DelegateShow fun)  //统一调用
            {
                fun(msg);
            }

    //例2:加上泛型

    View Code
    static void Main(string[] args)
            {
                ShowMsg(new ShowClass1(), ShowFun1);
                ShowMsg(new ShowClass2(), ShowFun2);
                Console.ReadKey();
            }
            public delegate void DelegateShow<T>(T msg);  //声明方法的参数
            public static void ShowFun1<T>(T msg)  //具体方法
            {
                Console.WriteLine("ShowFun1:" + msg);
            }
            public static void ShowFun2<T>(T msg)
            {
                Console.WriteLine("ShowFun2:" + msg);
            }
            public static void ShowMsg<T>(T msg, DelegateShow<T> fun)  //统一调用
            {
                fun(msg);
            }
    
            public class ShowClass1
            {
                public override string ToString()
                {
                    return "ShowClass1";
                }
            }
            public class ShowClass2
            {
                public override string ToString()
                {
                    return "ShowClass2";
                }
            }
  • 相关阅读:
    C++ map的基本操作和用法
    堆排序汇总
    gdb调试多进程和多线程命令
    Linux内存分配机制
    svn 修改文件的可执行权限
    proc/sys/net/ipv4/下各项的意义
    linux read()和write
    ps命令参数
    /etc/passwd- 和/etc/shadow-文件
    openssh源码分析笔记
  • 原文地址:https://www.cnblogs.com/vipcjob/p/2556552.html
Copyright © 2020-2023  润新知