zoukankan      html  css  js  c++  java
  • 委托的实现过程

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 面试题案例
    {
        class 委托
        {
             public  void   初级版()
            {
                int inputSelected = 1;
                while (inputSelected == 1)
                {
                    Console.WriteLine("请输入名字");
    
                    string inputName = Console.ReadLine();
                    GreetPeople(inputName);
                    Console.WriteLine("请选择 1:继续,2:退出");
                    inputSelected = int.Parse(Console.ReadLine());
                } 
            }
            public void  过渡版()
            {          
                int inputSelected = 1;
                while (inputSelected == 1)
                {
                    Console.WriteLine("请选择国家 1:美国人 2中国人");
    
                    string inputCountry = Console.ReadLine();
                    Console.WriteLine("请输入名字");
                    string inputName = Console.ReadLine();
                    if (inputCountry == "1")
                    {
                        GreetPeople(inputName, Language.Enlish);
                    }
                    else
                    {
                        GreetPeople(inputName, Language.Chinese);
                    }
    
                    Console.WriteLine("请选择 1:继续,2:退出");
                    inputSelected = int.Parse(Console.ReadLine());
                }
            }
    
            public void 终极版()
            {
                int inputSelected = 1;
                while (inputSelected == 1)
                {
                    Console.WriteLine("请选择国家 1:美国人 2中国人");
                    string inputCountry = Console.ReadLine();
                    Console.WriteLine("请输入名字");
                    string inputName = Console.ReadLine();
                    if (inputCountry == "1")
                    {
                        GreetPeople(inputName,EnlishGreeting);
                    }
                    else
                    {
                        GreetPeople(inputName, ChineseGreeting);
                    }
                    Console.WriteLine("请选择 1:继续,2:退出");
                    inputSelected = int.Parse(Console.ReadLine());
    
                }
            }
            #region 什么是委托
            public void GreetPeople(string name)
            {
                EnlishGreeting(name); 
              
            }
            public void GreetPeople(string name, Language lang)
            {
                switch (lang)
                {
                    case Language.Enlish:
                        EnlishGreeting(name);
                        break;
                    case Language.Chinese:
                        ChineseGreeting(name);
                        break;
                }
            }
            public void EnlishGreeting(string name)
            {
    
                Console.WriteLine("GoodMorining  " + name);
                Console.ReadKey();
            }
            public void ChineseGreeting(string name)
            {
                Console.WriteLine("早上好  " + name);
                Console.ReadKey();
            }
            #endregion
    
            public enum Language
            {
                Enlish, Chinese
            }
            
            public delegate void GreetingDelegate(string name);        
    
            public void GreetPeople(string name,GreetingDelegate MakeGreeting)
            {
                MakeGreeting(name);
            }
           
        }
    }

    使用

     委托 weituo = new 委托();
                Console.WriteLine("请选择使用的版本 1: 初级版,2:过渡板  3:终极版" );
                string input_selected = Console.ReadLine();
                int flag = 1;
                while (flag==1)
                {
                    if (input_selected=="1")
                    {
                        weituo.初级版(); 
                    }
                    else if (input_selected=="2")
                    {
                        weituo.过渡版();
    
                    }
                    else if (input_selected == "3")
                    {
                        weituo.终极版();
    
                    }
                    Console.WriteLine("1 :继续 2:退出");
                    flag = int.Parse( Console.ReadLine());
    
                }
  • 相关阅读:
    Mathematica 计算矩阵的伴随矩阵
    教你如何在word中像LaTex那样打出漂亮的数学公式
    中国科学院大学2016年硕转博考试试题
    161024解答
    161023解答
    161020-1解答
    关于查询扩展版ESI高被引论文的说明
    [Tex学习笔记]让项目编号从4开始
    [Tex学习]WinEdit 常用软件快捷键
    最著名的数学家一般也是最著名的力学家
  • 原文地址:https://www.cnblogs.com/SunIan/p/10255370.html
Copyright © 2011-2022 走看看