Standardbibliotheken (CLI) - Standard Libraries (CLI)

Standardbibliotheken (CLI).png

Die Standardbibliotheken ist ein Satz von Bibliotheken in der mitgelieferten Common Language Infrastructure (CLI) , um viele gemeinsame Funktionen wie Datei Lesen und Schreiben zu verkapseln XML - Dokument Manipulation, Ausnahmebehandlung , Anwendung Globalisierung , Netzwerk - Kommunikation, Einfädeln und Reflexion , die erleichtert die Arbeit des Programmierers. Es hat einen viel größeren Umfang als Standardbibliotheken für die meisten anderen Sprachen, einschließlich C++ , und ist in Umfang und Abdeckung mit den Standardbibliotheken von Java vergleichbar .

Die Liste der Standardbibliotheken ist Base Class Library (BCL), Runtime Infrastructure Library (beide Teil des Kernel-Profils), Network Library, Reflexion Library, XML Library (die mit den beiden erstgenannten Bibliotheken Teil des Kompaktprofils sind und das Extended Array Bibliothek, Parallelbibliothek, Gleitkommabibliothek, Vararg-Bibliothek.

Die Framework-Klassenbibliothek (FCL) ist der Ursprung der Standardbibliotheken, da das .NET Framework, das die FCL enthält, die erste Implementierung der CLI ist.

Profile

Die wichtigsten Standardbibliotheken sind in zwei Standardprofile organisiert, das Kernel-Profil und das Compact-Profil. Die folgenden Standardbibliotheken gehören keinem Profil an: die Extended Array Library, die Extended Numerics Library, die Parallel Library und die Vararg Library.

Kernel-Profil

Das Kernel-Profil ist eine Untermenge des Compact-Profils. Das Kernel-Profil enthält die Base Class Library (BCL) und die Runtime Infrastructure Library.

Kompaktprofil

Das Compact Profile enthält diese Bibliotheken im Kernel Profile sowie die Network Library, die Reflection Library und die XML Library.

Bibliotheken

Basisklassenbibliothek

Die Base Class Library ist eine einfache Laufzeitbibliothek für moderne Programmiersprachen. Sie dient als Standard für die Laufzeitbibliothek für die Sprache C# sowie als eine der CLI-Standardbibliotheken. Es bietet Typen zur Darstellung der integrierten Datentypen der CLI, einfachen Dateizugriff, benutzerdefinierte Attribute, Sicherheitsattribute, String-Manipulation, Formatierung, Streams, Sammlungen, unter anderem. Es definiert Typen in den folgenden Namespaces:

System
Definiert die Objektklasse , die alle Referenztyp - Objekte aus (einschließlich Wert förmigen Gegenstände) ableiten und die Valuetype - Klasse , die alle Werttypen Objekte aus abzuleiten. Es definiert auch die Basisdatentypen wie Integer , Gleitkommazahlen , Zeichen , Strings , Boolean , Aufzählung und mehr. Unterstützung für die Umgebung und Plattform und eine Befehlszeilenschnittstelle werden zusammen mit Basisklassen für Ausnahmen und Attribute bereitgestellt . Es definiert Arrays und Delegaten , mathematische Funktionen und viele andere Typen.
System.Kollektionen
Definiert viele gängige Containertypen, die in der Programmierung verwendet werden, wie Wörterbücher , Hashtabellen , Listen , Warteschlangen und Stacks .
System.Collections.Generic
Definiert generische Typen der Containertypen im System.Collections-Namespace.
Systemdiagnose
Definiert Typen, die die Möglichkeit bieten, Anwendungen zu diagnostizieren. Es umfasst Ereignisprotokollierung , Leistungsindikatoren, Ablaufverfolgung und Interaktion mit Systemprozessen.
System.Globalisierung
Definiert Typen, die kulturbezogene Informationen definieren, einschließlich Sprache, Land/Region, verwendete Kalender, Formatmuster für Datum, Währung und Zahlen und Sortierreihenfolge für Zeichenfolgen.
System.IO
Definiert einen Typ, der das Lesen aus und Schreiben in verschiedene Streams ermöglicht , z. B. Dateien oder andere Datenstreams . Bietet auch eine Verbindung zum Dateisystem .
Systemsicherheit
Definiert Typen, die das Sicherheitssystem und die Berechtigungen darstellen.
System.Sicherheit.Berechtigungen
Definiert Typen, die den Zugriff auf Vorgänge und Ressourcen basierend auf Richtlinien steuern.
System.Text
Definiert Typen, die verschiedene Zeichencodierungen , reguläre Ausdrücke und einen effizienteren Mechanismus zum Bearbeiten von Zeichenfolgen unterstützen.
System.Threading
Definiert Typen, die Multithread-Programmierung ermöglichen .

Laufzeitinfrastrukturbibliothek

Die Runtime Infrastructure Library stellt die Dienste bereit, die ein Compiler benötigt, um auf die CLI abzuzielen, und die Funktionen, die zum dynamischen Laden von Typen aus einem Stream in einem angegebenen Dateiformat erforderlich sind. Es definiert Typen in den folgenden Namespaces:

System
Definiert Typen für die Anwendungsdomäne , Zeiger , Handles und mehr.
System.Reflexion
Definiert Typen, die eine verwaltete Ansicht geladener Typen, Methoden und Felder bereitstellen und Typen dynamisch erstellen und aufrufen können. Diese Typen sind für die Programmlaufzeit relevant .
System.Runtime.CompilerServices
Definiert Typen, die Funktionen für Compiler-Autoren bereitstellen, die verwalteten Code verwenden, um Attribute in Metadaten anzugeben , die sich auf das Laufzeitverhalten des Virtual Execution System auswirken .
System.Runtime.InteropServices
Definiert Typen, die Plattformaufrufdienste (P/Invoke) unterstützen.

Netzwerkbibliothek

Die Netzwerkbibliothek bietet einfache Netzwerkdienste, einschließlich direktem Zugriff auf Netzwerkports sowie HTTP-Unterstützung. Es definiert Typen in den folgenden Namespaces:

System
Definiert Typen, die eine Objektdarstellung eines Uniform Resource Identifier (URI) und einfachen Zugriff auf die Teile des URI bereitstellen .
System.Sammlungen.Spezialisiert
Definiert spezialisierte und stark typisierte Sammlungen; B. ein Wörterbuch mit verknüpften Listen, ein Bitvektor und Sammlungen, die nur Zeichenfolgen enthalten.
System.Net
Definiert Typen, die eine einfache Programmierschnittstelle für eine Reihe von Netzwerkprotokollen bereitstellen .
System.Net.Sockets
Definiert einen Typ, der eine verwaltete Implementierung der Windows Sockets (Winsock)-Schnittstelle für Entwickler bereitstellt, die den Zugriff auf das Netzwerk streng kontrollieren müssen.

Reflexionsbibliothek

Die Reflection-Bibliothek bietet die Möglichkeit, die Struktur von Typen zu untersuchen, Instanzen von Typen zu erstellen und Methoden für Typen aufzurufen, alles basierend auf einer Beschreibung des Typs. Es definiert Typen in den folgenden Namespaces:

System
Definiert den void type , einen Rückgabewerttyp für eine Methode, die keinen Wert zurückgibt.
System.Globalisierung
Definiert einen Typ, der Informationen zu einer bestimmten Kultur bereitstellt (als Gebietsschema für nicht verwaltete Codeentwicklung bezeichnet). Die Informationen umfassen die Namen für die Kultur, das Schriftsystem, den verwendeten Kalender und Formatierungen für Datumsangaben und Sortierzeichenfolgen.
System.Reflexion
Definiert Typen, die eine verwaltete Ansicht geladener Typen, Methoden und Felder bereitstellen und Typen dynamisch erstellen und aufrufen können.
System.Sicherheit.Berechtigungen
Definiert Typen, die den Zugriff auf Vorgänge und Ressourcen basierend auf Richtlinien steuern. Diese Typen sind für die Reflexion relevant .

XML-Bibliothek

Die XML-Bibliothek bietet einen einfachen Parser im "Pull-Stil" für XML. Es wurde für ressourcenbeschränkte Geräte entwickelt und bietet dennoch ein einfaches Benutzermodell. Es definiert Typen im folgenden Namespace.

System.Xml
Definiert Typen für die Verarbeitung von XML .

Erweiterte Array-Bibliothek

Die Extended Array Library bietet Unterstützung für Nicht-Vektor-Arrays. Das heißt, Arrays mit mehr als einer Dimension oder Arrays mit Untergrenzen ungleich null. Die Extended Array Library fügt keine zusätzlichen Typen hinzu, erweitert jedoch den Array-Handling-Mechanismus.

Erweiterte Numerikbibliothek

Die Extended Numerics Library bietet Unterstützung für Gleitkommadatentypen (System.Single, System.Double) und Datentypen mit erweiterter Genauigkeit (System.Decimal). Wie die Basisklassenbibliothek wird diese Bibliothek direkt vom C#-Standard referenziert.

Parallelbibliothek

Die Parallel Library bietet einfachen Programmierern eine einfache Parallelität, sodass Multithread-CPUs ausgenutzt werden können.

Vararg-Bibliothek

Die Vararg-Bibliothek bietet Unterstützung für den Umgang mit Argumentlisten variabler Länge.

Siehe auch

Verweise

Externe Links