【问题标题】:Using Moq to setup generic methods where the type is not known until runtime?使用 Moq 设置直到运行时才知道类型的泛型方法?
【发布时间】:2019-01-21 20:17:31
【问题描述】:

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

【问题讨论】:

标签: c# generics moq


【解决方案1】:

根据我的理解,您的问题的答案是否定的。整个 Moq 库的设计目的是静态了解模拟类型。这将使您知道可以配置哪些属性。

虽然, 一个有效的替代方法是使用运行时类型创建表达式并将其编译为函数。这将允许您使用动态类型的 Moq 库,但我认为这不值得。

希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    相关资源
    最近更新 更多