在.NET中使用Moq时,如果在运行时之前我不知道该类型是什么,是否可以设置使用通用类型的方法?具体来说,我正在使用反射在类上遍历属性,并且我想将每个属性的类型用作模拟对象上方法的泛型。根据我在Moq中看到的内容,设置通用方法需要您在编译时指定类型。我要执行的设置是标准返回,在该返回值中,我已经构建了我希望方法用特定类型调用时返回的值。
答案 0 :(得分:1)
根据我的理解,对您问题的回答不是。整个Moq库的设计目的是静态了解模拟类型。这将使您知道可以配置哪些属性。
尽管 一个有效的替代方法是使用运行时类型创建一个表达式并将其编译为一个函数。这将使您可以肯定地将Moq库与动态类型一起使用,但是我认为这样做不值得。
希望获得帮助!