Das .NET-Framework

Das .NET-Framework

  • Allgemeines
  • CLR
  • Assemblies
  • C# 2.0

    C# 3.0

    Fazit

    Quellen/Links

    Anfang

    Allgemeines

    Das .NET-Framework ist eine von Microsoft entwickelte Schicht, die aktuell nur auf Windows aufsetzt und im Wesentlichen aus den 2 folgenden Komponenten besteht:

    • objektorienierte Klassenbibliothek mit Funktionen wie z.B. Thread-Programmierung, (Web-)Oberflächen, Datei-Operationen, etc.
    • Laufzeitumgebung (die sog. Common Language Runtime - CLR)
    top

    CLR

    Die Laufzeitumgebung CLR stellt u.a. Sicherheitsmechanismen, Interoperabilität und eine Garbage Collection zur Verfügung, die dafür sorgt, dass sich der Entwickler nicht um die Freigabe von nicht mehr benötigten Speicherbereichen kümmern muss. Sie ist also mit der JVM vergleichbar.

    Wenn man nun seinen Quellcode einer .NET-Sprache kompiliert, wird dieser zunächst einmal in einen .NET-eigenen Befehlssatz übersetzt, den sog. CIL-Code (Common Intermediate Language). Direkt vor der Ausführung wird dieser dann in den Maschinencode der entsprechenden Maschine übersetzt über die sog. just-in-time-Compilation (JIT).

    Der CIL-Code garantiert Interoperabilität zwischen allen Sprachen, die auf der .NET-Architektur aufsetzen. Dazu trägt auch das gemeinsame Typsystem Common Type System (CTS) bei, das nicht nur z.B. dafür sorgt, dass alle äquivalenten Datentypen die selben Wertebereiche und Repräsentationen haben, sondern auch die Klassen gleich dargestellt werden, so dass man beispielsweise innerhalb einer C#-Klasse auf eine Visual Basic-Klasse zugreifen kann, als ob sie eine C#-Klasse wäre.

    top

    Assemblies

    Das .NET-Framework unterstützt die sog. komponentenbasierte Software-Entwicklung. Eine Komponente (auch Assembly genannt) ist in diesem Zusammenhang der kleinste einzeln "auslieferbare" Programmbaustein, der typischerweise als ausführbares Programm (EXE) oder als Bibliothek (DLL) vorliegt. Sie besteht aus einer Sammlung von Klassen und anderen Ressourcen.

    Unter .NET können mehrere Versionen einer DLL nebeneinander existieren (side by side execution).

    top