2015年11月18日 星期三

C14_2_3 引入事件3

using System;
namespace C14_2_3
{
    public delegate void DoGreeting(string name);
    public class ManagerHello
    {
        //在ManagerHello類別的內不宣告d變數
        public DoGreeting d;
        public void GreetHello(string name)
        {
            //如果有方法註冊委派變數
            if (d != null)
            {
                //通過委派叫用方法
                d(name);
            }
        }
    }
    public class Program
    {
        private static void EnglishGreeting(string name)
        {
            Console.WriteLine("Hello, " + name);
        }
        private static void ChinishGreeting(string name)
        {
            Console.WriteLine("你好, " + name);
        }
        public static void Main()
        {
            ManagerHello manager = new ManagerHello();

            manager.d = EnglishGreeting;
            manager.d += ChinishGreeting;
            manager.GreetHello("小王3");
        }
    }
}

沒有留言: