Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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
F# 使用NSubstitute模拟NLog4Net并捕获传递到log.ErrorFormat的参数_F#_C# To F#_Fsi - Fatal编程技术网

F# 使用NSubstitute模拟NLog4Net并捕获传递到log.ErrorFormat的参数

F# 使用NSubstitute模拟NLog4Net并捕获传递到log.ErrorFormat的参数,f#,c#-to-f#,fsi,F#,C# To F#,Fsi,我正试图将下面的C重写为F,它用NSubstitute模拟Log4Net记录器,并将传递给Log.ErrorFormat调用的参数捕获到_loggerException字符串中 string\u loggerException=string.Empty; 这个.c_logger.When(log=>log.ErrorFormat( Arg.Any(),Arg.Any()) .Do(logger=>\u loggerException=logger.Arg().ToString()); 以下是我

我正试图将下面的C重写为F,它用NSubstitute模拟Log4Net记录器,并将传递给Log.ErrorFormat调用的参数捕获到_loggerException字符串中

string\u loggerException=string.Empty;
这个.c_logger.When(log=>log.ErrorFormat(
Arg.Any(),Arg.Any())
.Do(logger=>\u loggerException=logger.Arg().ToString());
以下是我到达的F#

let mutable _loggerException = System.String.Empty

let _logger = Substitute.For<ILog>()

SubstituteExtensions.When(_logger, _logger.WarnFormat(Arg.Any<string>(), Arg.Any<string>())).Do(fun logger -> _loggerException <- logger.Arg<string>())
let mutable\u loggerException=System.String.Empty
让_logger=用.For()代替

SubstituteExtensions.When(_logger,_logger.WarnFormat(Arg.Any(),Arg.Any()).Do(fun logger->_loggerException在我看来,当
想要获取一个函数,但你给它的结果是
WarnFormat
?你想在那里有一个
fun logger->logger.WarnFormat(…)