我正在重构一个庞大的代码库的讨厌问题,并且需要找到特定的方法,接受相当一般的接口的实例,该界面。当用特定的子类型调用时查找特定方法的用法
例如,在NastyStatic
中是DoBadThings(IBusinessObject)
方法。在我的商业图书馆中,我有大约50个课程实施IBusinessObject
,其中包括DontHurtMe : IBusinessObject
。
我怎样才能找到每个电话NastyStatic.DoBadThings(foo)
,但只有foo
是DontHurtMe
的实例?
编辑:我在某种静态分析工具之后。在DoBadThings
(或类似的)中设置动态手表并运行应用程序并不是一个真正的选择。由于我对DontHurtMe
所做的更改,它已经会抛出异常,并且有太多的代码路径可以用这种方式查找所有用法(至少在它启动并且我的用户开始抱怨之前)。
如果anwser不包括向DoBadThings方法添加某种跟踪并运行应用程序,我会感到惊讶(并且非常感兴趣) – 2011-02-17 07:42:44
@xorcrud这正是我想要避免的;-)还有,很多代码路径,并且在那种情况下它已经抛出异常 – 2011-02-17 07:45:11
无论如何,它会如何帮助您重构它? – Dyppl 2011-02-17 07:55:56