program.cs

来自「c#开发宝典 光盘内容。本光盘主要为书中的源程序」· CS 代码 · 共 75 行

CS
75
字号
using System;
using System.Collections.Generic;
using System.Text;

namespace Example15_4
{
    class Program
    {
        /// <summary>
        /// 定义一个委托,用于演示多路委托的用法
        /// </summary>
        /// <param name="s">字符串s</param>
        delegate void MyDelegate(string s);

        static void Main(string[] args)
        {
            MyDelegate a, b, c, d;

            // 创建一个代理对象a,a应用类MyClass的Hello方法
            a = MyClass.Hello;

            // 创建一个代理对象a,a应用类MyClass的Hello方法
            b = MyClass.Goodbye;

            // 将委托a和b合并,组成了一个多路委托,这里使用的是“+”运算符
            c = a + b;

            // 将委托a从c中剔除,变成了一个普通委托,只引用一个方法,这里使用的是“-”运算符
            d = c - a;

            //调用委托a
            System.Console.WriteLine("调用委托a:");
            a("A");

            //调用委托b
            System.Console.WriteLine("调用委托b:");
            b("B");

            //调用委托c
            System.Console.WriteLine("调用委托c:");
            c("C");

            //调用委托d
            System.Console.WriteLine("调用委托d:");
            d("D");

            Console.ReadLine();
        }
    }

    /// <summary>
    /// MyClass类
    /// </summary>
    class MyClass
    {
        /// <summary>
        /// Hello方法,输出你好啊信息
        /// </summary>
        /// <param name="s">任意字符串</param>
        public static void Hello(string s)
        {
            System.Console.WriteLine("  你好啊, {0}!", s);
        }

        /// <summary>
        /// Goodbye方法,输出再见了信息
        /// </summary>
        /// <param name="s">任意字符串</param>
        public static void Goodbye(string s)
        {
            System.Console.WriteLine("  再见了, {0}!", s);
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?