zoukankan      html  css  js  c++  java
  • 委托的使用和合并

    delegate void Del(string s);

    class TestClass
    {
    static void Hello(string s)
    {
    System.Console.WriteLine(" Hello, {0}!", s);
    }

    static void Goodbye(string s)
    {
    System.Console.WriteLine(" Goodbye, {0}!", s);
    }

    static void Main()
    {
    Del a, b, c, d;

    // Create the delegate object a that references
    // the method Hello:
    a = Hello;

    // Create the delegate object b that references
    // the method Goodbye:
    b = Goodbye;

    // The two delegates, a and b, are composed to form c:
    c = a + b;

    // Remove a from the composed delegate, leaving d,
    // which calls only the method Goodbye:
    d = c - a;

    System.Console.WriteLine("Invoking delegate a:");
    a("A");
    System.Console.WriteLine("Invoking delegate b:");
    b("B");
    System.Console.WriteLine("Invoking delegate c:");
    c("C");
    System.Console.WriteLine("Invoking delegate d:");
    d("D");
    }
    }

    输出结果

    Invoking delegate a:
    Hello, A!
    Invoking delegate b:
    Goodbye, B!
    Invoking delegate c:
    Hello, C!
    Goodbye, C!
    Invoking delegate d:
    Goodbye, D!
    如果方法委托里的方法有返回值,则返回最后一个有返回值的方法的返回值, 
  • 相关阅读:
    爬虫之Selenium库
    爬虫之pyquery库
    爬虫之BeautifulSoup库
    爬虫之Requests库
    爬虫之Re库
    在Flask中使用Celery
    Celery-分布式任务队列
    MongoDB
    Redis Cluster
    如何使用mongo shell
  • 原文地址:https://www.cnblogs.com/ylldbk/p/5212874.html
Copyright © 2011-2022 走看看