У меня есть следующий интерфейс
public interface IActionSecureExecuter
{
void SecureExecuteOperation(Action action);
T SecureExecuteOperation<T>(Func<T> action);
}
Теперь я хочу издеваться над реализацией, чтобы она выполняла делегаты, которые она получает в качестве аргументов. Это было довольно просто с первым методом:
m_Executer.SecureExecuteOperation(Arg.Invoke());
Но у меня проблемы с общей реализацией второго. Можно ли что-то сделать с этим Func или мне придется делать настройку для каждого T? Я боюсь, что это невозможно в соответствии с этим вопросом, но я не уверен на 100%. Вот что я сделал сейчас:
private void SetupInvokeAction<T>()
{
m_Executer.SecureExecuteOperation(Arg.InvokeDelegate<Func<T>>());
}
Я вызываю эту функцию в каждом тестовом методе. Но я бы очень хотел поместить это в установку.
Func<T>
и возвращать результат? - person Groo   schedule 13.05.2014