gpt4 book ai didi

c# - 在使用特定子类型调用时查找特定方法的用法

转载 作者:太空狗 更新时间:2023-10-30 00:45:40 26 4
gpt4 key购买 nike

我正在从一个庞大的代码库中重构讨厌的东西,并且需要找到一个特定的方法,接受一个相当通用的接口(interface)的实例,用该接口(interface)的特定实现调用。

例如,在 NastyStatic 中是 DoBadThings(IBusinessObject) 方法。我的业务库中有大约 50 个实现 IBusinessObject 的类,包括 DontHurtMe : IBusinessObject

我如何才能找到对 NastyStatic.DoBadThings(foo) 的每次调用,但只有 fooDontHurtMe 的实例?

编辑:我正在寻找某种静态分析工具。在 DoBadThings(或类似的)中设置动态监视并运行应用程序并不是真正的选择。由于我对 DontHurtMe 所做的更改,它已经抛出异常,并且有太多的代码路径无法以这种方式找到所有用法(至少在它上线并且我的用户开始提示之前) .

最佳答案

简单。编写一个以 DontHurtMe 作为参数的 DoBadThings 重载。现在看看它在哪里被调用。这不会检测到使用声明的 IBusinessObject 调用方法的情况,碰巧 是 DontHurtMe - 但我认为静态分析无法检测到这种情况。这将使用声明的 DontHurtMe 调用您的方法。

关于c# - 在使用特定子类型调用时查找特定方法的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5026244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com