我想在程序集中找到对DateTime.ToString
引用的所有调用。在Visual Studio中,您可以“查找所有引用”"右键点击ToString
;但是,它会返回所有类的ToString
的所有引用,而不只是DateTime
。
由于以下示例,定期搜索DateTime.ToString
无法正常工作:
DateTime myDate = new DateTime();
myDate.ToString();
有什么建议吗?
答案 0 :(得分:13)
你应该使用ReSharper。
步骤:
myDate.ToString();
ToString
令牌Find Usages Advanced ...
菜单项Find
答案 1 :(得分:8)
在VS2015中,当您尝试查找覆盖方法的引用时,可以按类型对它们进行分组
结果如下:
Find Symbol Results
答案 2 :(得分:2)
在Visual Studio 2019中,右键单击所需的方法名称,然后单击“查看调用层次结构”。 Visual Studio的底部(默认)显示“呼叫层次结构”窗口。在左窗格中,您将看到调用该方法的项目的树形表示。在每个项目中,第一项是“对[MethodName]的调用”。展开第一项以获得方法列表。单击每个方法将更改“调用层次结构”窗口的右窗格,以显示在其中调用该方法的行。双击这些行以转到它们并分别进行寻址。
答案 3 :(得分:1)
在视觉工作室,AFAIK是不可能的,虽然resharper可以。
在resharper的“查找高级用法”窗口中,您可以过滤掉您要查找的类型。您可以指定较少派生或更多派生。
因此,在这种情况下,您只能过滤掉DateTime
或全部ValueType
或System.Object
。
<小时/>
在这种情况下,我猜视觉工作室无法提供帮助,但我还是想分享一些技巧。
例如:如果您想要找到PropertyChanged
类的Person
事件的所有引用,假设某人实现了INotifyPropertyChanged
,那么您将获得大量的引用,因为有很多类它实现了INotifyPropertyChanged
。
您可以做些什么,只需转到Person
课程并注释掉INotifyPropertyChanged
界面的实施。然后查找visual studio中的所有引用只会告诉您Person
类的引用。并非所有类型。
至少我希望这个技巧可以在其他地方提供帮助,如果不是现在的话。
答案 4 :(得分:0)
商业工具NDepends对此非常有用:它可以让您找到使用特定组件/类/方法的组件/类/方法。
它可能并不便宜,但是如果你有一个很大的代码库 - 特别是有几个组件 - 它可能非常有效!