Moles不为某些功能生成代理的原因是什么?

时间:2011-12-05 18:31:07

标签: moles pex-and-moles

对于某些实例方法,我似乎对Moles 生成委托有这个令人困惑的问题。

而不是显示确切的方法(虽然我将表示它是一个Web服务代理方法,有许多属性在其前面添加参数)我将从标题中提出上述问题:

Moles不为某些方法生成委托的原因是什么?

我在手册中注意到的唯一与此问题几乎无关的事情是提到私有方法如果生成的程序集不可见其参数,则不会生成其尊重的委托。看到我的问题是如何使用公共代理Web服务方法,必须有更多的原因来解释为什么不生成委托。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

Moles不会为所有方法生成委托。此外,Microsoft Moles Reference Manual,第4和第5页简要概述了与各种绕行机制相关的摩尔类型。例如,当您应该使用存根时,您可能正在使用鼹鼠类型。第14页概述了痣类型的一些局限性:

  • Moles框架仅支持有限数量的方法签名 10个参数,其中最后一个参数可以是out或ref参数。 不支持带指针的方法签名。
  • 由于存根类型依赖,因此无法对存根类或静态方法进行存根 虚方法调度。对于这种情况,使用“鼹鼠”中描述的痣类型 类型“在本文档的后面。

如果阅读Microsoft Moles参考手册没有提供问题的答案,请发布一个不会产生弯路的方法的简化示例。