我正在开发一个使用第三方库的 C# 项目。该库使用 ref 参数定义了一个相当不寻常的委托事件:
event GetDataHandler OnGetData;
public delegate bool GetDataHandler(string name, ref byte[] data);
我试图通过 NSubstitute (版本 3.1)在单元测试中引发此事件,但我无法让它工作。我尝试了这段代码(基本上是我能想到的所有变体):
var theKey = "test";
byte[] theData = null;
_theObject.OnGetData += Raise.Event<GetDataHandler>(theKey, ref theData);
但这不能编译。编译器说:参数 2 不能与 'ref' 关键字一起传递。
我知道 NSubstitute 4.x 中的 out/ref 机制已发生变化,但我的公司尚未升级到较新的版本。
有什么方法可以使用 NSubstitute 3.1 启动并运行它吗?多谢!
最好的问候,奥利弗
烙印99
相关分类