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