- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace Test_Delegate_2
- {
- public enum days
- {
- Sun=1,
- Mon,
- Tue,
- Wed,
- Thu,
- Fri,
- Sat
- }
- public delegate T GetDay<T>(days Day);//使用泛型委声明来动态指派委托的返回类型,这样一个委托就可以与多
- //不同返回值的方法绑定了.
- class Program
- {
- public static int GetDayPosition(days Day)//这两个方法的返回值不一样哦.
- {
- return (int)Day;
- }
- public static string GetDayName(days Day)//这两个方法的返回值不一样哦,但可以使用同一个委托相关连哦.
- {
- return Day.ToString();
- }
- static void Main(string[] args)
- {
- GetDay<int> Position = GetDayPosition;
- GetDay<string> Name = GetDayName;//相当于定义两个委托,就像Position ,Name都分别绑定了方法
- Console.WriteLine(Position(days.Fri));
- Console .WriteLine (Name (days.Fri));
- }
- }
- }