C# 查找对子方法的所有引用
我想在程序集中查找对C# 查找对子方法的所有引用,c#,visual-studio-2012,C#,Visual Studio 2012,我想在程序集中查找对DateTime.ToString引用的所有调用。在Visual Studio中,您可以通过右键单击ToString“查找所有引用”;但是,这将返回所有类对ToString的所有引用,而不仅仅是DateTime 由于以下示例,定期搜索DateTime.ToString将不起作用: DateTime myDate = new DateTime(); myDate.ToString(); 有什么建议吗?这个商业工具在这方面真的很好:它可以让您找到哪些程序集/类/方法使用特定的程
DateTime.ToString
引用的所有调用。在Visual Studio中,您可以通过右键单击ToString
“查找所有引用”;但是,这将返回所有类对ToString
的所有引用,而不仅仅是DateTime
由于以下示例,定期搜索DateTime.ToString
将不起作用:
DateTime myDate = new DateTime();
myDate.ToString();
有什么建议吗?这个商业工具在这方面真的很好:它可以让您找到哪些程序集/类/方法使用特定的程序集/类/方法
它可能不便宜,但是如果你有一个大的代码库——特别是有几个程序集——它会非常有效 您应该使用ReSharper 步骤:
myDate.ToString()代码>
ToString
tokenFind Usages Advanced…
菜单项Find
在VisualStudio中,这似乎是不可能的,尽管resharper可以 在resharper中的“查找高级用法”窗口中,您可以筛选出要查找的类型。您可以指定派生较少或派生较多 因此,在这种情况下,您只能筛选出
DateTime
,或所有ValueType
或System.Object
在这种情况下,我想VisualStudio帮不上忙,但我还是想和大家分享一些技巧 例如:如果您想查找
Person
类的PropertyChanged
事件的所有引用,假设Person实现了INotifyPropertyChanged
,您将获得大量引用,因为有许多类实现了INotifyPropertyChanged
您可以做的是,只需转到Person
类并注释掉INotifyPropertyChanged
接口的实现。然后在VisualStudio中查找所有引用将只告诉您Person
类的引用。并非所有类型
至少我希望这个技巧可以在其他地方有所帮助,如果不是现在的话。在VS2015中,当您尝试查找覆盖方法的引用时,您可以将它们按类型分组
结果如下:
在Visual Studio 2019中,右键单击所需的方法名称,然后单击“查看调用层次结构”。Visual Studio底部(默认情况下)会出现一个“调用层次结构”窗口。在左窗格中,您将看到调用该方法的项目的树表示。在每个项目中,第一项是“调用[MethodName]”。展开第一项以获得方法列表。单击每个方法将更改“调用层次结构”窗口的右窗格,以显示调用该方法的行。双击这些行以转到它们并分别对它们进行寻址。@Sajeetharan这有什么帮助?这将使每个对“ToString”的调用不仅仅在DateTime内。你能解释一下吗?在“DateTime.ToString”上用FindAll怎么样?或者你想在DateTime的任何实例上用FindAll吗。这将更加困难。这对下一行的“DateTime myDate=…”不起作用。“myDate.ToString()”这是个好问题,这有点棘手……如果你使用resharper,就会有一个“Find Usages Advanced”(查找Usages Advanced)这样的功能。resharper可能会付钱给微软不实现这一基本功能。所以它们仍然可以存在。嗨-你有没有设法获得特定枚举的特定ToString调用?我看到它在“System.Enum”“toString”和它的基-System.ValueType.toString之间被定义。。。