Articulo de referencia

Bibliotecas estándar (CLI)

Las bibliotecas estándar son un conjunto de bibliotecas estándar incluidas en la Infraestructura de Lenguaje Común (CLI) para encapsular muchas funciones comunes, como la lectur...

Las bibliotecas estándar son un conjunto de bibliotecas estándar incluidas en la Infraestructura de Lenguaje Común (CLI) para encapsular muchas funciones comunes, como la lectura y escritura de archivos, la manipulación de documentos XML , el manejo de excepciones , la globalización de aplicaciones , la comunicación de red, la programación multihilo y la reflexión , lo que facilita el trabajo del programador. Su alcance es mucho mayor que el de las bibliotecas estándar de la mayoría de los demás lenguajes, incluido C++ , y es comparable en alcance y cobertura a las bibliotecas estándar de Java .

Las bibliotecas estándar son la Biblioteca de Clases Base (BCL), la Biblioteca de Infraestructura de Tiempo de Ejecución (ambas forman parte del perfil del kernel), la Biblioteca de Red, la Biblioteca de Reflexión, la Biblioteca XML (que junto con las dos primeras bibliotecas enumeradas forman el perfil compacto), la Biblioteca de Matrices Extendidas, la Biblioteca Paralela, la Biblioteca de Punto Flotante y la Biblioteca de Vararg.

La Framework Class Library (FCL) es la implementación original de las bibliotecas estándar, ya que .NET Framework, que la incluye, es la primera implementación de la CLI.

Las bibliotecas estándar pertenecen principalmente al espacio de nombres System.*. Microsoft , los desarrolladores de la plataforma .NET, también proporcionan bibliotecas de extensión oficiales en Microsoft.*y Microsoft.Extensions.*, aunque no forman parte de la biblioteca estándar oficial de .NET. [ 1 ]

Perfiles

Las principales bibliotecas estándar se organizan en dos perfiles estándar: el perfil de núcleo y el perfil compacto. [ 2 ] Las siguientes bibliotecas estándar no pertenecen a ningún perfil: la biblioteca de matrices extendidas, la biblioteca numérica extendida, la biblioteca paralela y la biblioteca Vararg. [ 3 ] [ 4 ] [ 5 ] [ 6 ]

Perfil del núcleo

El perfil del núcleo es un subconjunto del perfil compacto. El perfil del núcleo contiene la biblioteca de clases base (BCL) y la biblioteca de infraestructura de tiempo de ejecución. [ 7 ]

Perfil compacto

El perfil compacto contiene esas bibliotecas en el perfil del kernel, así como la biblioteca de red, la biblioteca de reflexión y la biblioteca XML. [ 8 ]

Bibliotecas

Biblioteca de clases base

La biblioteca de clases base es una biblioteca de tiempo de ejecución simple para lenguajes de programación modernos. Sirve como estándar para la biblioteca de tiempo de ejecución del lenguaje C#, así como una de las bibliotecas estándar de la CLI. Proporciona tipos para representar los tipos de datos integrados de la CLI, acceso simple a archivos, atributos personalizados, atributos de seguridad, manipulación de cadenas, formato, flujos, colecciones, entre otras cosas. [ 9 ] Define tipos en los siguientes espacios de nombres:

Diagrama de paquetes UML de la jerarquía de flujos en .NET

Biblioteca de infraestructura de tiempo de ejecución

La biblioteca de infraestructura de tiempo de ejecución proporciona los servicios que necesita un compilador para dirigirse a la CLI y las facilidades necesarias para cargar dinámicamente tipos desde un flujo en un formato de archivo especificado. [ 10 ] Define tipos en los siguientes espacios de nombres:

Biblioteca en red

La biblioteca de red proporciona servicios de red sencillos, incluido el acceso directo a los puertos de red, así como compatibilidad con HTTP. [ 11 ] Define tipos en los siguientes espacios de nombres:

Biblioteca de Reflexión

La biblioteca Reflection proporciona la capacidad de examinar la estructura de los tipos, crear instancias de tipos e invocar métodos en los tipos, todo ello basado en una descripción del tipo. [ 12 ] Define los tipos en los siguientes espacios de nombres:

Biblioteca XML

La biblioteca XML proporciona un analizador simple de "estilo pull" para XML. Está diseñado para dispositivos con recursos limitados, pero proporciona un modelo de usuario simple. [ 13 ] Define tipos en el siguiente espacio de nombres.

Biblioteca de Windows Presentation Foundation

Microsoft dispone de un espacio de nombres para las clases de aplicación de Windows Presentation Foundation (WPF).

Biblioteca de matrices extendidas

La biblioteca Extended Array proporciona soporte para matrices no vectoriales. Es decir, matrices que tienen más de una dimensión o matrices con límites inferiores distintos de cero. [ 3 ] La biblioteca Extended Array no añade ningún tipo adicional, pero sí amplía el mecanismo de manejo de matrices. [ 14 ]

Biblioteca de métodos numéricos ampliada

La biblioteca de números extendidos proporciona soporte para tipos de datos de punto flotante (System.Single , System.Double ) y de precisión extendida (System.Decimal ) . Al igual que la biblioteca de clases base, esta biblioteca es referenciada directamente por el estándar C#. [ 4 ]

Biblioteca paralela

La biblioteca Parallel proporciona paralelismo sencillo para programadores no expertos, de modo que se puedan aprovechar las CPU multihilo. [ 5 ]

Biblioteca Vararg

La biblioteca Vararg proporciona soporte para manejar listas de argumentos de longitud variable. [ 6 ]

Véase también

Referencias

  1. "Galería NuGet" . www.nuget.org.
  2. "IV.3 Los perfiles estándar" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 437.  
  3. 1 2 "IV.5.8 Biblioteca de matrices extendidas" . Estándar ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 441.  
  4. 1 2 "IV.5.7 Biblioteca numérica extendida" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 441.  
  5. 1 2 "IV.5.10 Biblioteca paralela" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 441.  
  6. 1 2 "IV.5.9 Biblioteca Vararg" . Norma ECMA-335 – Infraestructura de Lenguaje Común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 441.  
  7. "IV.3.1 El perfil del núcleo" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 437.  
  8. "IV.3.2 El perfil compacto" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 437.  
  9. "IV.5.3 Biblioteca de clases base (BCL)" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 440.  
  10. "IV.5.2 Biblioteca de infraestructura de tiempo de ejecución" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 440.  
  11. "IV.5.4 Biblioteca de red" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 440.  
  12. "IV.5.5 Biblioteca de reflexión" . Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 440.  
  13. "IV.5.6 Biblioteca XML" . Norma ECMA-335 – Infraestructura de Lenguaje Común (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 440.  
  14. King, Jason; Easton, Mark (2004). «Capítulo 4: Análisis del .NET Framework». En Gilmore, Jason (ed.). Desarrollo .NET multiplataforma: Uso de Mono, Portable.NET y Microsoft .NET . Apress . pág. 110. ISBN  1-59059-330-8. LCCN 2004018339 . 
  • Ecma International, Norma ECMA-335, Infraestructura de Lenguaje Común (CLI), 6.ª edición (junio de 2012). Archivado el 15 de enero de 2021 en Wayback Machine .
  • Ecma International, Informe técnico TR/84, Infraestructura de lenguaje común (CLI) - Información derivada del archivo XML de la partición IV, 6.ª edición (junio de 2012). Archivado el 27 de noviembre de 2020 en Wayback Machine .