Fortunately, our friends in Redmond thought about this problem for quite a while and came up with a solution they call .NET. Microsoft took the time necessary to come up with an end-to-end solution for such areas as cross-language interoperability, runtime management of system stability, web services that use a standard protocol such as SOAP (Simple Object Access Protocol), and seamless communication of distributed components, just to name a few.
In writing this book, we have first and foremost tried to give you the information necessary to understand the technology and be able to apply this knowledge to your future projects. Secondly, we want you to understand not only how it works, but also why it works. Too many programmers today are content with knowing that making a call to function A will cause the system to perform a certain task. That's fine, but if you don't know how function A performs the task, how are you going to know why or if it breaks function B when used in a certain context? If you don't know how it works, you won't know how you can make your code faster, more efficient, more scalable, and more reliable. This book will take you into the internals of the .NET Framework. You will learn not only how to use attributes in C#, you'll also learn what they actually do, so that if something breaks, you will have a little insight into the framework to help you quantify the issue and quickly create a solution.