使用 Moq 设置泛型方法,直到运行时才知道类型?

在 .NET 中使用 Moq 时,如果我直到运行时才知道类型是什么,有没有办法设置使用泛型类型的方法?具体来说,我正在使用反射遍历类上的属性,并且我想使用每个属性的类型作为我的模拟对象上的方法的泛型。从我在 Moq 中看到的情况来看,设置泛型方法需要您在编译时指定类型。我想要做的设置是标准返回,我已经构建了我希望该方法在使用特定类型调用时返回的值。


智慧大石
浏览 187回答 1
1回答

不负相思意

根据我的理解,你的问题的答案是否定的。整个 Moq 库的设计目的是静态了解模拟类型。这将使您知道可以配置哪些属性。虽然,一个有效的替代方法是使用您的运行时类型创建一个表达式并将其编译为一个函数。这将允许您使用具有动态类型的 Moq 库,但我认为不值得付出努力。希望这有帮助!
打开App,查看更多内容
随时随地看视频慕课网APP