Jason's answer is good, but a couple of additional points:
Is this hard to do with C # because it is more complicated than Java?
Yes, but this is not relevant. Yes, the challenge is to “on the fly” analyze any language in 100 milliseconds between keystrokes. Doing this for C # is probably more complicated than Java, as it supports much more language features than Java.
But our IDE team is a bunch of code buffs that are awesome, so they can handle this for C #.
The real problem was that the C # compiler architecture was not originally designed for this kind of real-time analysis; was a VB compiler. And so it took a lot more time to fix the semantic analysis mechanism of the C # compiler to make this possibility feasible.
We continue to explore how to rebuild the compiler to expose more and more of these on-the-fly analysis services in a rich, extensible and compelling way, but it will take some time. This is a great compiler.
What is the squiggly underscore function?
In the compiler command, we call this “reddish underline,” or “squiggles” for short.
I do not know if he has a name for sale or not. If they do, it is probably something like "Microsoft SquiggleSense.NET for Microsoft Visual Studio Suite System 2008"; they seem to like these long names that have "Microsoft" in them.
source share