Chapter 1 - C# and .NET Architecture | |
bySimon Robinsonet al. | |
Wrox Press 2002 | |
You'll find that we emphasize throughout this book that the C# language cannot be viewed in isolation, but must be considered in parallel with the .NET Framework. 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 upon 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 we begin C# programming. That is the purpose of this chapter.
We will begin by going over what happens when all code (including C#) that targets .NET is compiled and run. Once we have this broad overview, we will take a more detailed look at the Microsoft Intermediate Language ( MS-IL ), the language which all compiled code ends up in on .NET. In particular, we will see how MS-IL, in partnership with the Common Type System ( CTS ) and Common Language Specification ( CLS ) works to give us interoperability between languages that target .NET. We'll also discuss where common languages (including VB and C++) fit into .NET.
Once we've done that, we will move on to examine some of the other features of .NET, including assemblies, namespaces, and the .NET base classes. We'll finish the chapter with a brief look at the kinds of applications we can create as C# developers.