zoukankan      html  css  js  c++  java
  • 什么是委托以及案例

    using System;
    using System.Collections.Generic;
    using System.Text;
    namespace Delegate
    {
    //定义委托,它定义了可以代表的方法的类型
    public delegate void GreetingDelegate(string name);
    class Program
    {
    private static void EnglishGreeting(string name)
    {
    Console.WriteLine("Morning, " + name);
    }
    private static void ChineseGreeting(string name)
    {
    Console.WriteLine("早上好, " + name);
    }
    //注意此方法,它接受一个GreetingDelegate类型的参数,该参数是返回值为空,参数为string类型的方法
    private static void GreetPeople(string name, GreetingDelegate MakeGreeting)
    {
    MakeGreeting(name);
    }
    static void Main(string[] args)
    {
    GreetPeople("Jimmy Zhang", EnglishGreeting);
    GreetPeople("张子阳", ChineseGreeting);
    Console.ReadKey();
    }
    }
    }
    

      委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。

    详情进连接:http://baike.baidu.com/link?url=w31jH_nz5roSL25H_-NAdAIOHOdkC1ym_KD19leilwQXjEnZGC7WRCD6ryFzUyFjkVWiY7ZAW4Bzpl8l81g9Ra

  • 相关阅读:
    BOM
    CSS 定位与浮动
    轮播
    跨域
    Flex-弹性布局
    vue.js开发环境搭建以及创建一个vue实例
    js闭包
    git的一些基本命令
    不定宽块状元素居中方法
    git中常用命令小结
  • 原文地址:https://www.cnblogs.com/sunshine-wy/p/4670750.html
Copyright © 2011-2022 走看看