我为Action
制作了一个扩展方法,我希望在代码中将所有action()
替换为action.SafeInvoke()
。但问题是action
只是一个示例var名称,实际上它们都是不同的。按()
搜索显然会产生可怕的结果。通过Action
搜索并在代码中查找每个var的引用并在其中查找直接调用有点慢。
当变量名称未知时,是否有可能以某种方式查找Action
运算符发生的所有()
次调用?
答案 0 :(得分:2)
据我所知,你有类型为Action
的实例:
Action foo = ...
Action bar = ...
然后你有代码:
foo();
bar();
您希望将foo()
更改为foo.SafeInvoke()
并将bar()
更改为bar.SafeInvoke()
。
Visual Studio中没有任何内容可以自动为您执行此操作,并且编写一些内容将是非常重要的。与手动进行更改相比,您在该扩展上花费的时间要多得多。
您可以使用Visual Studio的“查找用法”功能查找Action
使用的每个位置。这至少可以帮助您找到进行更改的位置。
我很想知道你SafeInvoke
做了什么。如果它只是一个空检查,你可能想要考虑它是否真的有必要。