3

我有以下界面

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>>());
}

我在每个测试方法中调用这个函数。但我真的很想把它放在设置中。

4

0 回答 0