使用泛型委声明来动态指派委托的返回类型
2008-09-16 17:16
225 查看
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));
}
}
}
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));
}
}
}
相关文章推荐
- 关于如何使用反射声明一个泛型类型变量(泛型参数是动态的)的问题
- 使用Java泛型返回动态类型
- 使用泛型解决需要动态返回类型的问题
- 使用泛型解决需要动态返回类型的问题
- 使用Func<T1, T2, TResult> 委托返回匿名对象
- JSON使用TypeNameHandling序列化与反序列化.NET类型和声明类型
- C# 使用linq处理返回带datetime类型数据 json显示/date(xxxxx)/
- 如何:声明、实例化和使用委托(C# 编程指南)GOOD
- 编写高质量代码改善C#程序的157个建议——建议36:使用FCL中的委托声明
- js变量的声明、类型、以及使用
- oracle 动态调用存储过程,返回游标类型
- 如何:声明、实例化和使用委托(C# 编程指南)
- 使用反射动态调用类成员,需要Type类的一个方法:InvokeMember。对该方法的声明如下(摘抄于MSDN)
- 第04天OC语言(06):动态数据类型(有多态的情况下可以使用)
- 动态装载和使用类型
- ASP.NET MVC 2.0 in Vs2010 :使用C# 4.0中使用动态类型来传递ViewData
- javascript中创建自定义类型的最常见的方式_组合使用构造函数模型和原型模式,动态原型模式
- Dynamic动态数据类型(例如如何设置IQueryable的类型为函数返回的类型?? )
- 使用模版元编程实现C和C++中复杂类型声明的语义化
- 在hibernate中查询使用List,Map和类对象定制返回类型