The order of evaluation of expressions is determined by a particular implementation, except when the language guarantees a certain order of calculations. If, in addition to the result, evaluating the expression causes changes in the runtime, then the expression is said to have side effects.In our internal newsletter about C #, a regular question arises, which concerns the correct interpretation of such constructions:
a -= a *= a;In response, I ask:
p[x++] = ++x;
Yes, who writes such a code with an imperturbable look? It's one thing when you write this, trying to win at the International COC Contest, or if you want to write a puzzle - but in both cases you realize that you are doing something non-standard. That, there really is someone who writes a - = a * = a and p [x ++] = ++ x; and thinks to himself "Shit, yes I write really cool code! "
About a year ago we published in our blog a series of articles on development of Visual Studio plugins in C#. We have recently revised those materials and added new sections and now invite you to have a look at the updated version of the manual.
Creating extension packages (plug-ins) for Microsoft Visual Studio IDE appears as quite an easy task at the first sight. There exist an excellent MSDN documentation, as well as various articles, examples and a lot of other additional sources on this topic. But, at the same time, it could also appear as a difficult task when an unexpected behavior is encountered along the way. Although it can be said that such issues are quite common to any programming task, the subject of IDE plug-in development is still not thoroughly covered at this moment.
I decided to fool around a bit with the plugin and the picture to attract your attention. A whole lot of articles on programming regularly appear on the Internet, but most of them are unfortunately brief and all about nothing. But we are sure that our material is extremely useful, and it will be a pity if it remains unnoticed. We tell our users in every detail about how to develop plugins in C# for the Visual Studio 2005/2008/2010/2012 development environment. This material is based on our own experience and describes some subtleties you won't read anywhere about.