Standard Libraries (CLI)
   HOME

TheInfoList



OR:

The Standard Libraries are a set of libraries included in the
Common Language Infrastructure The Common Language Infrastructure (CLI) is an open specification and technical standard originally developed by Microsoft and standardized by International Organization for Standardization, ISO/International Electrotechnical Commission, IEC (ISO/ ...
(CLI) in order to encapsulate many common functions, such as file reading and writing,
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
document manipulation,
exception handling In computing and computer programming, exception handling is the process of responding to the occurrence of ''exceptions'' – anomalous or exceptional conditions requiring special processing – during the execution of a program. In general, an ...
, application
globalization Globalization is the process of increasing interdependence and integration among the economies, markets, societies, and cultures of different countries worldwide. This is made possible by the reduction of barriers to international trade, th ...
, network communication, threading, and reflection, which makes the programmer's job easier. It is much larger in scope than standard libraries for most other languages, including C++, and is comparable in scope and coverage to the standard libraries of Java. The Standard Libraries are the Base Class Library (BCL), Runtime Infrastructure Library (both part of the kernel profile), Network Library, Reflection Library, XML Library (which with the first two listed libraries form the compact profile), Extended Array Library, Parallel Library, Floating Point Library and Vararg Library. The Framework Class Library (FCL) is the original implementation of the Standard Libraries as the .NET Framework, which includes it, is the first implementation of the CLI.


Profiles

The main standard libraries are organized into two Standard Profiles, the Kernel Profile, and the Compact Profile. The following standard libraries do not belong to any profile: the Extended Array Library, the Extended Numerics Library, the Parallel Library and the Vararg Library.


Kernel Profile

The Kernel Profile is a subset of the Compact Profile. The Kernel Profile contains the Base Class Library (BCL) and Runtime Infrastructure Library.


Compact Profile

The Compact Profile contains those libraries in the Kernel Profile as well as the Network Library, the Reflection Library and the XML Library.


Libraries


Base Class Library

The Base Class Library is a simple runtime library for modern programming languages. It serves as the Standard for the runtime library for the language C# as well as one of the CLI Standard Libraries. It provides types to represent the built-in data types of the CLI, simple file access, custom attributes, security attributes, string manipulation, formatting, streams, collections, among other things. It defines types in the following namespaces:


Runtime Infrastructure Library

The Runtime Infrastructure Library provides the services needed by a compiler to target the CLI and the facilities needed to dynamically load types from a stream in a specified file format. It defines types in the following namespaces:


Network Library

The Network Library provides simple networking services including direct access to network ports as well as HTTP support. It defines types in the following namespaces:


Reflection Library

The Reflection Library provides the ability to examine the structure of types, create instances of types and invoke methods on types, all based on a description of the type. It defines types in the following namespaces:


XML Library

The XML Library provides a simple "pull-style" parser for XML. It is designed for resource-constrained devices, yet provides a simple user model. It defines types in the following namespace.


Extended Array Library

The Extended Array Library provides support for non-vector arrays. That is, arrays that have more than one dimension or arrays that have non-zero lower bounds. The Extended Array Library doesn't add any extra types, but it does extend the array-handling mechanism.


Extended Numerics Library

The Extended Numerics Library provides support for floating-point (SystemSingle, SystemDouble) and extended-precision (SystemDecimal) data types. Like the Base Class Library, this library is directly referenced by the C# standard.


Parallel Library

The Parallel Library provides easy parallelism for non-expert programmers, so that multithreaded CPUs can be exploited.


Vararg Library

The Vararg Library provides support for dealing with variable-length argument lists.


See also

* List of data types of the Standard Libraries * Framework Class Library


References


External links


Ecma International, Standard ECMA-335, Common Language Infrastructure (CLI), 6th edition (June 2012)


{{Common Language Infrastructure Common Language Infrastructure