Visual Studio's “auto-resolve” feature doesn't work for extension methods - what now?

有些话、适合烂在心里 提交于 2020-01-01 02:40:14

问题


I love the "Resolve" feature in visual studio.

Typical scenario:

  1. Type in Debug
  2. Type .
  3. Notice that no intellisense appears
  4. Right-click
  5. Select Resolve
  6. Choose using System.Diagnostics or System.Diagnostics.Debug

Beautiful. Use it all the time.

Extension method scenario:

  1. Type in var maxNumber = new int[] {1, 2, 3, 4}
  2. Type .
  3. Notice that intellisense brings up array methods but no LINQ extension methods
  4. Manually type Max()
  5. Right-click Max()
  6. No Resolve to be found
  7. Right click on int[]
  8. Still no Resolve to be found
  9. Begrudgingly scroll to the top of the page and enter using System.Linq;*

    *assuming you know it by heart, otherwise wrack your brains or try to look it up

Implementation idea:

If this feature were to be invented, one idea would be for the first intellisense item that appears when I type . to read, <extension methods...>, and if I click that item, it brings up a Resolve list of all namespaces that contain extension methods for the class in question.

Couple questions:

  1. Is this feature slated for future editions of Visual Studio?
  2. Any workarounds/tips for finding the extension methods (and the corresponding namespace) that might be available for a particular class?

回答1:


I really HATE having to "just know" what namespace to use to support any given class. I mean, there are THOUSANDS OF THEM. Who knows what namespace you need? There's no naming convention that can be used as a clue.

It's a shame because I also use Netbeans IDE for Java, and "resolve imports" works flawlessly for everything.



来源:https://stackoverflow.com/questions/1386541/visual-studios-auto-resolve-feature-doesnt-work-for-extension-methods-what

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!