Возможно ли иметь Перечислимый Func с разными типами возвращаемых данных, я думаю, что ответ - нет, но как можно поддержать это. В настоящее время мой код выглядит так, но мне нужно иметь возможность передавать разные типы возвращаемых данных в качестве типов ввода и наоборот. Я хочу иметь структуру, в которой предыдущие действия возвращают тип, формирует вход для следующего действия.Перечислимый Func с различными типами возврата
- действие 1 принимает и возвращает Аргументы B
- действие 2 принимает B и возвращает C
- действие 3 БЕРЕТ C и возвращает D
Im здание что-то из виртуальной машины, которая принимает инструкции по тестированию но я немного не уверен, как продвигаться отсюда.
Код, приведенный ниже, заключается в том, как я бы идеально хотел его работать, но он, очевидно, не ... какие-либо мысли о наилучшем подходе?
IEnumerable<Func<Tariff, Tariff> actions = new Func<Tariff, Tariff>[]
{
a = > {CreateStandardTariff();}, //returns typeof(StandardTariff)
a = > {CreateTariff();} //returns typeof(Tariff) takes StandardTariff
};
Test(actions);
...
public void Test<T>(IEnumerable<Func<T,T>> actions) where T : class
{
T current = null;
foreach(Func<T,T> action in actions)
current = action(current);
}
Я использую 3.5