2017年12月5日 星期二

C# 委派 delegate

C# 的委派好像都很少用到,不過最近看同事寫一個驗證資料的東西
好像不錯用...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApp1
{
    class Program
    {
        static StringBuilder result = new StringBuilder();
        private delegate void Verification<T>(T data);
        static void Main(string[] args)
        {            
            string data = "xxxx";//要驗證的資料

            Verification<string> verif;
            verif = CheckName;
            verif += CheckEmail;
            verif += CheckAddress;
            verif(data);

            Console.WriteLine(result.ToString());
            Console.ReadLine();
        }

        private static void CheckName(string data)
        {
            result.AppendLine("驗證姓名");
        }
        private static void CheckEmail(string data)
        {
            result.AppendLine("驗證電子信箱");
        }
        private static void CheckAddress(string data)
        {
            result.AppendLine("驗證地址");
        }
    }
}


其實丟進去都是同一個物件
要從這一個物件判斷很多驗證,使用委派就挺不錯的!!

沒有留言:

張貼留言