Chapter 1. .NET Architecture
WHAT'S IN THIS CHAPTER?
Compiling and running code that targets .NET
Advantages of Microsoft Intermediate Language (MSIL)
Value and reference types
Understanding error handling and attributes
Assemblies, .NET base classes, and namespaces
Throughout this book, we emphasize that the C# language must be considered in parallel with the .NET Framework, rather than viewed in isolation. The C# compiler specifically targets .NET, which means that all code written in C# will always run within the .NET Framework. This has two important consequences for the C# language:
The architecture and methodologies of C# reflect the underlying methodologies of .NET.
In many cases, specific language features of C# actually depend on features of .NET, or of the .NET base classes.
Because of this dependence, it is important to gain some understanding of the architecture and methodology of .NET before you begin C# programming. That is the purpose of this chapter.
THE RELATIONSHIP OF C# TO .NET
C# is a relatively new programming language and is significant in two respects:
It is specifically designed and targeted for use with Microsoft's .NET Framework (a feature-rich platform for the development, deployment, and execution of distributed applications).
It is a language based on the modern object-oriented design methodology, and, when designing it, Microsoft learned from the experience of all the other similar languages that have been around since object-oriented principles came ...