我真的喜欢一个通用数字类型作为Func< TInput的第二个通用类型参数,TRereult>给出如下,所以我可以提供一个整数或一个双倍或十进制,当我喜欢.
var _resultSelectors = new Dictionary<string,Func<DateTime,/*here*/ double,DateTime>>(); // so I can do _resultSelector.Add("foo",(DateTime dt,int x) => ...); _resultSelector.Add("bar",double d) => ...); _resultSelector.Add("gar",float f) => ...); _resultSelector.Add("har",decimal d) => ...);
缺乏:
制作我自己的类型;要么
使用对象和Boxing一个值类型并取消装箱;要么
>使用动态关键字,
在C#中有正确的方法吗?
我猜Java有一个可能符合我的要求的Number类,但是我想知道C#是否有类似的东西.
我猜C#中没有这样的东西,但是我以为我会确定的.