using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace learn_generic_deledate
{
    internal class Program
    {

        delegate void TestDG<T>(T a, T b);
        static void Main(string[] args)
        {
            TestDelegate testDelegate = new TestDelegate();
            // 实例化一个int类型委托
            TestDG<int> testDGInt = new TestDG<int> (testDelegate.Add);
            testDGInt(123, 456);
            // 实例化一个double类型委托
            TestDG<double> testDGdouble = new TestDG<double>(testDelegate.Add);
            testDGdouble(222, 456.00);

            Console.ReadKey();  
        }
    }
    public class TestDelegate
    {
        
        public void Add(int a, int b)
        {
            Console.WriteLine(a + b);
        }
        public void Add(double a, double b)
        {
            Console.WriteLine(a + b);
        }
        public void Add(string a, string b)
        {
            Console.WriteLine(a + b);
        }
        public void Add(object a, object b)
        {
            Console.WriteLine("参数错误");
        }

    }
}
posted on 2023-01-23 13:07  盈盈的月儿  阅读(13)  评论(0编辑  收藏  举报