1

在 Visual Studio 中,我们在每个属性/方法上方都有 CodeLens 引用计数器,它告诉该成员有多少 C#/Visual Basic 引用。但是,如果成员在类内部,并且是该类实现的接口中成员的实现,则引用计数器不会反映对类实现的引用数——它反映对 EVERY 的引用数接口成员的实现,在每个类中。这些参考文献的列表也是如此。

这对我来说似乎很愚蠢。如果我想在我的类中找到对函数或属性的引用,我想在几十个其他类中找到对那个函数或属性的引用——而不是其他类似的函数和属性。

对于来自 .NET 框架的内置接口的实现,这尤其是一个问题,例如IEnumerable. 我希望我的类GetEnumerator方法的引用计数器/列表向我显示我的类的枚举器在哪里使用以及使用了多少次——我真的不在乎IEnumerable.GetEnumerator我的解决方案中的每个类引用了多少次该方法!

那么,有什么方法可以让引用计数器/列表按我的意愿工作,并且只反映当前类的接口成员实现的用法?我在 CodeLens 选项下看不到任何选项,但我希望可能有另一种方式......

4

1 回答 1

0

不幸的是,你似乎不走运。这已在 2017 年报告(https://developercommunity.visualstudio.com/content/problem/20609/code-lens-reference-count-is-broken.html),并在 2 年后迅速审查(原文如此!) ,在问题被转移到 github ( https://github.com/dotnet/roslyn/issues/32738 )之后

引用答案:

当前的 CodeLens 行为是设计使然。但是,请记住,我们最近对“查找所有参考”体验进行了许多改进,我们预计这将更好地满足对查找特定类型参考感兴趣的用户的需求。使用 Find All References 时,您可以右键单击列并选择 Show Columns → Kind 以查看新的引用类型名称。

于 2020-06-16T15:58:05.063 回答