Мне бы очень понравился общий числовой тип, как второй тип типичного типа Func<TInput, THere, TResult>
, приведенный ниже, поэтому я могу предоставить целое или двойное или десятичное число как и когда мне нравится.
var _resultSelectors = new Dictionary<string, Func<DateTime, /*here*/ double, DateTime>>();
// so I can do
_resultSelector.Add("foo", (DateTime dt, int x) => ...);
_resultSelector.Add("bar", (DateTime dt, double d) => ...);
_resultSelector.Add("gar", (DateTime dt, float f) => ...);
_resultSelector.Add("har", (DateTime dt, decimal d) => ...);
Сокращение:
- создание моего собственного типа; или
- использование объекта и бокса для типа значения и его распаковки; или
- Используя ключевое слово
dynamic
,
Есть ли способ сделать это в С#?
Я предполагаю, что Java имеет класс Number
, который, вероятно, соответствует моим требованиям, но мне было интересно, есть ли у С# что-то подобное.
Я предполагаю, что в С# нет такой вещи, но я думал, что попробую быть уверенным.