Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以设置NSubstitute以执行任何传递的委托_C#_.net_Nsubstitute - Fatal编程技术网

C# 是否可以设置NSubstitute以执行任何传递的委托

C# 是否可以设置NSubstitute以执行任何传递的委托,c#,.net,nsubstitute,C#,.net,Nsubstitute,我有以下接口 public interface IActionSecureExecuter { void SecureExecuteOperation(Action action); T SecureExecuteOperation<T>(Func<T> action); } 但是我对第二个的通用实现有困难。有没有可能用这个Func做点什么,或者我必须为每个T做一个设置?我恐怕这是不可能的,但我不是100%肯定。这就是我现在所做的: private v

我有以下接口

public interface IActionSecureExecuter
{
    void SecureExecuteOperation(Action action);

    T SecureExecuteOperation<T>(Func<T> action);
}
但是我对第二个的通用实现有困难。有没有可能用这个Func做点什么,或者我必须为每个T做一个设置?我恐怕这是不可能的,但我不是100%肯定。这就是我现在所做的:

private void SetupInvokeAction<T>()
{
    m_Executer.SecureExecuteOperation(Arg.InvokeDelegate<Func<T>>());
}
private void SetupInvokeAction()
{
m_Executer.SecureExecuteOperation(Arg.InvokeDelegate());
}

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

后一种方法应该做什么,调用
Func
委托并返回结果?实际上这是理想的结果(对于模拟)。我不知道如何在NSubstitue中设置它,所以我想检查它是否至少被调用。对不起,NSub目前不可能。每个通用实例都需要单独配置。我根据您的问题提出了一个问题。请随意分享您的想法。
private void SetupInvokeAction<T>()
{
    m_Executer.SecureExecuteOperation(Arg.InvokeDelegate<Func<T>>());
}