1

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

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

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

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

在此先感谢您的帮助!

4

1 回答 1

1

Moles 不会为所有方法生成委托。此外,Microsoft Moles 参考手册第 4 页和第 5 页包含与各种迂回机制相关的痣类型的简化概述。例如,当您应该使用存根时,您可能正在使用鼹鼠类型。第 14 页概述了痣类型的一些限制:

  • Moles 框架仅支持有限数量的方法签名——最多 10 个参数,其中最后一个参数可以是 out 或 ref 参数。不支持带有指针的方法签名。
  • 密封类或静态方法不能被存根,因为存根类型依赖于虚拟方法分派。对于这种情况,请使用本文档后面的“痣类型”中所述的痣类型。

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

于 2011-12-07T17:47:47.297 回答