Standardní knihovny (CLI) - Standard Libraries (CLI)
The Standardní knihovny je sada knihoven zahrnutých do Společná jazyková infrastruktura (CLI) za účelem zapouzdření mnoha běžných funkcí, jako je čtení a zápis souborů, XML manipulace s dokumenty, zpracování výjimek, aplikace globalizace, síťová komunikace, závitování a odraz, což usnadňuje práci programátora. Rozsah je mnohem větší než u standardních knihoven pro většinu ostatních jazyků, včetně C ++, a je rozsahem a rozsahem srovnatelný s standardní knihovny Java.
Seznam standardních knihoven je Base Class Library (BCL), Runtime Infrastructure Library (obě části profilu jádra) Network Library, Reflexion Library, XML Library (které jsou spolu s první uvedenou knihovnou součástí kompaktního profilu a Extended Array Knihovna, paralelní knihovna, knihovna s plovoucí desetinnou čárkou.
The Knihovna rámcových tříd (FCL) je původem standardních knihoven, protože .NET Framework, který zahrnuje FCL, je první implementací CLI.
Profily
Hlavní standardní knihovny jsou uspořádány do dvou standardních profilů, profilu jádra a kompaktního profilu.[1] Následující standardní knihovny nepatří do žádného profilu: rozšířená knihovna polí, rozšířená numerická knihovna, paralelní knihovna a knihovna Vararg.[2][3][4][5]
Profil jádra
Profil jádra je podmnožinou kompaktního profilu. Profil jádra obsahuje knihovnu základní třídy (BCL) a knihovnu běhové infrastruktury.[6]
Kompaktní profil
Kompaktní profil obsahuje tyto knihovny v profilu jádra a také síťovou knihovnu, reflexní knihovnu a knihovnu XML.[7]
Knihovny
Knihovna základní třídy
Knihovna základní třídy je jednoduchá běhová knihovna pro moderní programovací jazyky. Slouží jako standard pro běhovou knihovnu pro jazyk C # a také jako jedna ze standardních knihoven CLI. Poskytuje typy, které představují mimo jiné integrované datové typy rozhraní příkazového řádku, jednoduchý přístup k souborům, vlastní atributy, atributy zabezpečení, manipulaci s řetězci, formátování, datové proudy, kolekce.[8] Definuje typy v následujících jmenných prostorech:
- Systém
- Definuje třídu Object, která všechny referenční typ objekty pocházejí z (včetně objektů typu value) a třídy ValueType, které všechny typ hodnoty objekty pocházejí z. Také definuje základní datové typy jako celá čísla, čísla s plovoucí desetinnou čárkou, charakter, struny, Booleovský, výčet a více. Podpora prostředí a platformy a rozhraní příkazového řádku je poskytována spolu se základními třídami pro výjimky a atributy. Definuje pole a delegáti, matematické funkce a mnoho dalších typů.
- System.Collections
- Definuje mnoho běžných typy kontejnerů používané v programování, jako např slovníky, hashtables, seznamy, fronty a hromádky.
- System.Collections.Generic
- Definuje generické typy typů kontejnerů v oboru názvů System.Collections.
- System.Diagnostics
- Definuje typy, které poskytují možnost diagnostikovat aplikace. To zahrnuje protokolování událostí, čítače výkonu, sledování a interakce se systémovými procesy.
- Systém. Globalizace
- Definuje typy, které definují informace související s kulturou, včetně jazyka, země / oblasti, používaných kalendářů, vzorových formátů pro data, měny a čísel a pořadí řazení řetězců.
- System.IO
- Definuje typ, který umožňuje čtení a zápis do různých proudy, jako jsou soubory nebo jiné datové toky. Také poskytuje připojení k souborový systém.
- Zabezpečení systému
- Definuje typy, které představují bezpečnostní systém a oprávnění.
- System.Security.Permissions
- Definuje typy, které řídí přístup k operacím a prostředkům na základě zásad.
- System.Text
- Definuje typy, které podporují různé kódování znaků, regulární výrazy a efektivnější mechanismus pro manipulaci s řetězci.
- System.Threading
- Definuje typy, které umožňují vícevláknové programování.
Knihovna infrastruktury za běhu
Runtime Infrastructure Library poskytuje služby potřebné kompilátorem k cílení na CLI a zařízení potřebná k dynamickému načtení typů ze streamu v zadaném formátu souboru.[9] Definuje typy v následujících jmenných prostorech:
- Systém
- Definuje typy pro doména aplikace, ukazatele, rukojeti a více.
- System.Reflection
- Definuje typy, které poskytují spravované zobrazení načtených typů, metod a polí a které mohou dynamicky vytvářet a vyvolávat typy. Tyto typy jsou relevantní pro běh programu.
- System.Runtime.CompilerServices
- Definuje typy, které poskytují funkce pro autory kompilátorů, kteří k určení používají spravovaný kód atributy v metadata které ovlivňují běhové chování Virtuální spouštěcí systém.
- System.Runtime.InteropServices
- Definuje typy, které podporují Služby vyvolání platformy (P / Vyvolání).
Síťová knihovna
Síťová knihovna poskytuje jednoduché síťové služby včetně přímého přístupu k síťovým portům a podpory HTTP.[10] Definuje typy v následujících jmenných prostorech:
- Systém
- Definuje typy, které poskytují objektovou reprezentaci a jednotný identifikátor zdroje (URI) a snadný přístup k částem URI.
- System.Collections. Specialized
- Definuje specializované a silně zadané kolekce; například slovník propojeného seznamu, bitový vektor a kolekce, které obsahují pouze řetězce.
- System.Net
- Definuje typy, které poskytují jednoduché programovací rozhraní pro řadu síťové protokoly.
- System.Net.Sockets
- Definuje typ, který poskytuje spravovanou implementaci Windows Sockets (Winsock) rozhraní pro vývojáře, kteří potřebují přísně kontrolovat přístup do sítě.
Reflexní knihovna
Knihovna reflexe poskytuje schopnost zkoumat strukturu typů, vytvářet instance typů a vyvolávat metody na typech, vše na základě popisu typu.[11] Definuje typy v následujících jmenných prostorech:
- Systém
- Definuje neplatný typ, typ návratové hodnoty pro metodu, která nevrací hodnotu.
- Systém. Globalizace
- Definuje typ, který poskytuje informace o konkrétní jazykové verzi (nazývá se národní prostředí pro vývoj nespravovaného kódu). Informace zahrnují názvy jazykové verze, systém zápisu, použitý kalendář a formátování pro data a třídicí řetězce.
- System.Reflection
- Definuje typy, které poskytují spravované zobrazení načtených typů, metod a polí a které mohou dynamicky vytvářet a vyvolávat typy.
- System.Security.Permissions
- Definuje typy, které řídí přístup k operacím a prostředkům na základě zásad. Tyto typy jsou relevantní pro odraz.
Knihovna XML
Knihovna XML poskytuje jednoduchý analyzátor XML ve stylu „pull-style“. Je určen pro zařízení s omezenými prostředky, přesto poskytuje jednoduchý uživatelský model.[12] Definuje typy v následujícím oboru názvů.
- System.Xml
- Definuje typy pro zpracování XML.
Rozšířená knihovna polí
Rozšířená knihovna polí poskytuje podporu pro ne-vektorová pole. To znamená, že pole, která mají více než jednu dimenzi, nebo pole, která mají nenulové dolní hranice.[2] Knihovna Extended Array nepřidává žádné další typy, ale rozšiřuje mechanismus manipulace s poli.[13]
Rozšířená numerická knihovna
Rozšířená numerická knihovna poskytuje podporu pro datové typy s plovoucí desetinnou čárkou (System.Single, System.Double) a rozšířenou přesností (System.Decimal). Stejně jako knihovna základních tříd je na tuto knihovnu přímo odkazováno standardem C #.[3]
Paralelní knihovna
Parallel Library poskytuje snadný paralelismus pro neodborné programátory, takže lze využívat vícevláknové procesory.[4]
Varargova knihovna
Knihovna Vararg poskytuje podporu pro práci se seznamy argumentů proměnné délky.[5]
Viz také
Reference
- ^ „IV.3 Standardní profily“. Standardní ECMA-335 - Společná jazyková infrastruktura (CLI) (Technická zpráva) (6. vydání). Ecma International. Červen 2012. str. 437.
- ^ A b "IV.5.8 Rozšířená knihovna polí". Standardní ECMA-335 - Společná jazyková infrastruktura (CLI) (Technická zpráva) (6. vydání). Ecma International. Červen 2012. str. 441.
- ^ A b "IV.5.7 Rozšířená numerická knihovna". Standardní ECMA-335 - Společná jazyková infrastruktura (CLI) (Technická zpráva) (6. vydání). Ecma International. Červen 2012. str. 441.
- ^ A b "IV.5.10 Parallel library". Standardní ECMA-335 - Společná jazyková infrastruktura (CLI) (Technická zpráva) (6. vydání). Ecma International. Červen 2012. str. 441.
- ^ A b "IV.5.9 Vararg knihovna". Standardní ECMA-335 - Společná jazyková infrastruktura (CLI) (Technická zpráva) (6. vydání). Ecma International. Červen 2012. str. 441.
- ^ "IV.3.1 Profil jádra". Standardní ECMA-335 - Společná jazyková infrastruktura (CLI) (Technická zpráva) (6. vydání). Ecma International. Červen 2012. str. 437.
- ^ „IV.3.2 Kompaktní profil“. Standardní ECMA-335 - Společná jazyková infrastruktura (CLI) (Technická zpráva) (6. vydání). Ecma International. Červen 2012. str. 437.
- ^ „IV.5.3 Knihovna základních tříd (BCL)“. Standardní ECMA-335 - Společná jazyková infrastruktura (CLI) (Technická zpráva) (6. vydání). Ecma International. Červen 2012. str. 440.
- ^ "IV.5.2 Knihovna infrastruktury za běhu". Standardní ECMA-335 - Společná jazyková infrastruktura (CLI) (Technická zpráva) (6. vydání). Ecma International. Červen 2012. str. 440.
- ^ "IV.5.4 Síťová knihovna". Standardní ECMA-335 - Společná jazyková infrastruktura (CLI) (Technická zpráva) (6. vydání). Ecma International. Červen 2012. str. 440.
- ^ "IV.5.5 Reflexní knihovna". Standardní ECMA-335 - Společná jazyková infrastruktura (CLI) (Technická zpráva) (6. vydání). Ecma International. Červen 2012. str. 440.
- ^ "IV.5.6 XML knihovna". Standardní ECMA-335 - Společná jazyková infrastruktura (CLI) (Technická zpráva) (6. vydání). Ecma International. Červen 2012. str. 440.
- ^ Král, Jason; Easton, Mark (2004). "Kapitola 4: Rozebrán NET Framework". V Gilmore, Jason (ed.). Cross-Platform .NET Development: using Mono, Portable.NET, and Microsoft .NET. Apress. p. 110. ISBN 1-59059-330-8. LCCN 2004018339.