Mat*_* K. 5 c# visual-studio visual-studio-2015
我想在 Visual Studio 中找到对某个类的所有引用,但忽略了用 var 定义的实例。
有没有办法解决这个问题?
这里我使用 SHIFT+F12 来获取引用
结果是:
我得到我想要的
目前,VS 2015、2017 和 2019 对于内置的“查找所有引用”搜索以及 Resharper 的“查找用法”和“查找用法高级”搜索选项具有此行为。这也是预期的行为。
\n\n搜索结果中唯一var返回引用的是当您显式调用构造函数时。此外,当调用方法并返回到已显式声明为给定类型的变量时,该行也将在搜索结果中返回。
var就我个人而言,我喜欢仅在明显返回并分配给变量的内容时才使用,这通常仅在直接调用构造函数时才使用。当声明一个具有长且不方便的名称的类时,这也很方便,避免必须键入该类型两次:
Dictionary<string, Ninja> trainees = new Dictionary<string, Ninja>();\nRun Code Online (Sandbox Code Playgroud)\n\n下面是一个小程序示例,演示了“查找所有引用”在哪里可以找到结果,在哪里不能找到结果。
\n\nusing System;\n\xe2\x80\x8b\nnamespace VarSearchTest\n{\n class Program\n {\n static void Main(string[] args)\n {\n var ninja = NinjaAcademy.Train(); // <---------- does not find (implicit)\n Ninja ninja2 = NinjaAcademy.Train(); // <---------- finds (explicit type declaration)\n var chrisFarley = new Ninja(); // <---------- finds (explicit constructor call)\n\n\n Console.WriteLine(ninja.Hide());\n Console.WriteLine(ninja2.Hide());\n Console.WriteLine(chrisFarley.Hide());\n }\n }\n\xe2\x80\x8b\n public class Ninja // <-------------------- Find all references/usages\n {\n public string Hide()\n {\n return "Puff of smoke...";\n }\n }\n\xe2\x80\x8b\n public static class NinjaAcademy\n {\n public static Ninja Train() // <---------------- finds (explicit return type)\n {\n return new Ninja(); // <------------------ finds (explicit constructor call)\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n您还可以跟踪此 github 问题,以防将来发生变化,因为易于查找隐式引用会很方便。同时,考虑var仅在显式情况下提供便利的场景中使用。
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |