Übersicht über die .NET Framework-Klassenbibliothek

.NET Framework enthält Klassen, Schnittstellen und Werttypen, die den Entwicklungsprozess beschleunigen und optimieren und den Zugriff auf Systemfunktionen ermöglichen. .NET Framework gewährleistet durch überwiegend CLS-kompatible Typen Interoperabilität zwischen verschiedenen Sprachen und kann daher in jeder Programmiersprache verwendet werden, deren Compiler der CLS (Common Language Specification) entspricht.

Die in .NET Framework verfügbaren Typen bilden die Grundlage für den Entwurf von Anwendungen, Komponenten und Steuerelementen in .NET. .NET Framework umfasst Typen zur Ausführung folgender Funktionen:

  • Darstellung von Basisdatentypen und -ausnahmen

  • Kapseln von Datenstrukturen

  • E/A-Operationen

  • Zugriff auf Informationen über geladene Typen

  • Aufrufen von .NET Framework-Sicherheitsüberprüfungen

  • Datenzugriff und Bereitstellen einer eigenständigen Client-GUI sowie einer servergesteuerten Client-GUI

In .NET Framework stehen neben zahlreichen Schnittstellen abstrakte und konkrete (nicht abstrakte) Klassen zur Verfügung. Sie können die konkreten Klassen unverändert verwenden oder eigene Klassen von ihnen ableiten. Um auf die Funktionen einer Schnittstelle zuzugreifen, können Sie entweder eine Klasse erstellen und die entsprechende Schnittstelle in der Klasse implementieren oder eine Klasse von einer .NET Framework-Klasse ableiten, die die Schnittstelle implementiert.

Benennungskonventionen

Für .NET Framework-Typen wird ein Benennungsschema mit Punktsyntax verwendet, das der hierarchischen Struktur entspricht. Bei diesem Verfahren werden verwandte Typen in Namespaces zusammengefasst, wodurch Suchvorgänge und Verweise vereinfacht werden. Der erste Teil des vollständigen Namens, bis zum letzten Punkt, gibt den Namen des Namespaces wieder. Der letzte Teil ist der Name des Typs. System.Collections.ArrayList stellt z. B. den Typ ArrayList dar, der im Namespace System.Collections enthalten ist. Die Typen in System.Collections werden zum Bearbeiten und Ändern von Objektauflistungen verwendet.

Dieses Benennungsschema erleichtert es Entwicklern von Bibliotheken, die Erweiterungen für .NET Framework entwerfen, hierarchische Typengruppen zu erstellen und diese konsistent und aussagekräftig zu benennen. Außerdem können Typen nach ihrem vollständigen Namen (d. h. ihrem Namespace und Typnamen) eindeutig identifiziert werden, wodurch Konflikte bei Typnamen vermieden werden. Entwickler von Bibliotheken sollten beim Erstellen der Namen für eigene Namespaces die nachstehende Richtlinie befolgen:

CompanyName.TechnologyName

Der Namespace Microsoft.Word beispielsweise entspricht dieser Richtlinie.

Insbesondere für das Erstellen und Dokumentieren von Klassenbibliotheken empfiehlt sich ein Benennungsschema, bei dem verwandte Typen in Namespaces zusammengefasst werden. Dieses wirkt sich jedoch nicht auf Sichtbarkeit, Memberzugriff, Vererbung, Sicherheit oder Bindung aus. Ein Namespace kann von mehreren Assemblys verwendet werden, und eine einzelne Assembly kann Typen aus mehreren Namespaces enthalten. Die Assembly stellt die formale Struktur für Versionsinformationen, Bereitstellung, Sicherheit, Ladevorgänge und Sichtbarkeit in der Common Language Runtime bereit.

Weitere Informationen über Namespaces und Typennamen finden Sie unter Allgemeines Typsystem.

Systemnamespace

Beim System-Namespace handelt es sich um den Stammnamespace für Basistypen in .NET Framework. Dieser Namespace beinhaltet Klassen, die die von allen Anwendungen verwendeten Basisdatentypen darstellen: Object (der Stamm der Vererbungshierarchie), Byte, Char, Array, Int32, String usw. Viele dieser Typen entsprechen den primitiven Datentypen, die in den verschiedenen Programmiersprachen verwendet werden. Wenn Sie Code mithilfe von .NET Framework-Typen schreiben, können Sie anstelle eines erwarteten Basisdatentyps von .NET Framework auch das entsprechende Schlüsselwort der verwendeten Sprache angeben.

In der folgenden Tabelle sind die in .NET Framework verfügbaren Basistypen mit einer Kurzbeschreibung der einzelnen Typen und den entsprechenden Typen in Visual Basic, C#, C++ und JScript aufgeführt.

Kategorie

Klassenname

Beschreibung

Datentyp in Visual Basic

Datentyp in C#

C++-Datentyp

Datentyp in JScript

Integer

Byte

Eine 8-Bit-Ganzzahl ohne Vorzeichen.

Byte

byte

unsigned char

Byte

   

SByte

Eine 8-Bit-Ganzzahl mit Vorzeichen.

Nicht CLS-kompatibel.

SByte

sbyte

char

- oder -

char mit Vorzeichen

SByte

   

Int16

Eine 16-Bit-Ganzzahl mit Vorzeichen.

Short

short

short

short

   

Int32

Eine 32-Bit-Ganzzahl mit Vorzeichen.

Integer

int

int

- oder -

long

int

   

Int64

Eine 64-Bit-Ganzzahl mit Vorzeichen.

Long

long

__int64

long

   

UInt16

Eine 16-Bit-Ganzzahl ohne Vorzeichen.

Nicht CLS-kompatibel.

UShort

ushort

unsigned short

UInt16

   

UInt32

Eine 32-Bit-Ganzzahl ohne Vorzeichen.

Nicht CLS-kompatibel.

UInteger

uint

unsigned int

- oder -

unsigned long

UInt32

   

UInt64

Eine 64-Bit-Ganzzahl ohne Vorzeichen.

Nicht CLS-kompatibel.

ULong

ulong

unsigned __int64

UInt64

Gleitkomma

Single

Eine Gleitkommazahl einfacher Genauigkeit (32 Bit).

Single

float

float

float

   

Double

Eine Gleitkommazahl doppelter Genauigkeit (64 Bit).

Double

double

double

double

Logisch

Boolean

Ein boolescher Wert (true oder false).

Boolean

bool

bool

bool

Andere

Char

Ein Unicode-Zeichen (16 Bit).

Char

char

wchar_t

char

   

Decimal

Dezimalwert (128 Bit).

Decimal

decimal

Decimal

Decimal

   

IntPtr

Eine ganze Zahl mit Vorzeichen, deren Größe von der zugrunde liegenden Plattform abhängt (32-Bit-Wert auf einer 32-Bit-Plattform und 64-Bit-Wert auf einer 64-Bit-Plattform).

IntPtr

Kein integrierter Typ.

IntPtr

Kein integrierter Typ.

IntPtr

Kein integrierter Typ.

IntPtr

   

UIntPtr

Eine ganze Zahl, deren Größe von der zugrunde liegenden Plattform abhängt (32-Bit-Wert auf einer 32-Bit-Plattform und 64-Bit-Wert auf einer 64-Bit-Plattform).

Nicht CLS-kompatibel.

UIntPtr

Kein integrierter Typ.

UIntPtr

Kein integrierter Typ.

UIntPtr

Kein integrierter Typ.

UIntPtr

Klassenobjekte

Object

Der Stamm der Objekthierarchie.

Objekt

Objekt

Object*

Objekt

   

String

Eine unveränderliche Zeichenfolge fester Länge mit Unicode-Zeichen.

String

string

String*

String

Neben den Basisdatentypen umfasst der System-Namespace mehr als 100 Klassen, die von Klassen für die Behandlung von Ausnahmen bis zu Klassen reichen, die für wesentliche Konzepte der Laufzeit vorgesehen sind, beispielsweise Anwendungsdomänen oder der Garbage Collector. Der System-Namespace beinhaltet darüber hinaus zahlreiche Namespaces zweiter Ebene.

Weitere Informationen über Namespaces finden Sie in der .NET Framework-Klassenbibliothek. In der Referenzdokumentation finden Sie eine Kurzübersicht zu jedem Namespace sowie eine formale Beschreibung aller Typen und der zugehörigen Elemente.

Siehe auch

Konzepte

Allgemeines Typsystem

Weitere Ressourcen

.NET Framework-Klassenbibliothek

Übersicht über .NET Framework