gpt4 book ai didi

c# - 二维对象数组返回类型 - NSubstitute

转载 作者:太空狗 更新时间:2023-10-30 01:24:17 25 4
gpt4 key购买 nike

我得到一个转换异常

System.InvalidCastException:无法将“System.Object[]”类型的对象转换为“System.Object[,]”类型。在 CaSTLe.Proxies.ITestProxy.Get2DArray()在 TestTest.cs 中的 Scratch.TestFixture.Get2DArray():第 17 行

来自下面:

[TestFixture]
public class TestFixture
{
[Test]
public void Get2DArray()
{
Substitute.For<ITest>().Get2DArray().Returns(new object[1,1]);
}
}

public interface ITest
{
object[,] Get2DArray();
}

任何人都可以对此有所了解吗?我认为这是一个 NSubstitute错误?

最佳答案

NSubstitute 依赖CaSTLe,而CaSTLe 又依赖Reflection.Emit,所以他们责怪Reflection.Emit。

http://issues.castleproject.org/issue/DYNPROXY-154

要解决您的问题,您似乎不能使用多维数组。请注意,您的异常实际上发生在 Get2DArray() 上,而不是 Returns

请注意,就我个人而言,我正在开发一个不使用 Reflection.Emit(也不使用 CaSTLe)的模拟框架。即使是 Alpha 准备好也需要几周时间,但它非常强大工具。有许多我没有遇到的 CaSTLe 失败场景(我的网站将列出这些)。有意者请关注http://smug.codeplex.com

关于c# - 二维对象数组返回类型 - NSubstitute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9912368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com