如何在运行时将方法的实现从return false;
更改为return true;
?我无法控制第三方库附带的方法实现。任何解决方法表示赞赏。再说一遍:我既不控制方法本身也不控制它的调用者。
问问题
268 次
5 回答
2
于 2009-07-14T11:29:06.910 回答
0
您可以拦截该方法的调用者并返回 true 而不是调用它。也许您可以发布更多详细信息。
于 2009-07-14T11:29:20.480 回答
0
请提供有关您的问题的更多信息。如果您只想切换布尔结果,那么简单bool result = !MyMethod();
就足够了;)
于 2009-07-14T11:37:32.977 回答
-1
多一点信息会有所帮助。您可以包装库并让其他人调用您的包装器吗?这也可能是一个很好的 TDD 途径。是否涉及您可以自己实现的接口?同样,DI 可以让您交换实现。
于 2009-07-14T11:08:57.713 回答
-1
子类化和覆盖。如果您不能子类化,请使用装饰器模式。
于 2009-07-14T15:17:58.760 回答