stringtranslate.com

Bibliotecas estándar (CLI)

Las bibliotecas estándar son un conjunto de bibliotecas incluidas en la Infraestructura de lenguaje común (CLI) con el fin de encapsular muchas funciones comunes, como lectura y escritura de archivos, manipulación de documentos XML , manejo de excepciones , globalización de aplicaciones , comunicación en red, subprocesamiento y 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 clase base (BCL), la biblioteca de infraestructura de tiempo de ejecución (ambas parte del perfil del núcleo), la biblioteca de red, la biblioteca de reflexión, la biblioteca XML (que con las dos primeras bibliotecas enumeradas forman el perfil compacto), la biblioteca de matriz extendida, la biblioteca paralela, la biblioteca de punto flotante y la biblioteca Vararg.

La biblioteca de clases Framework (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.

Perfiles

Las principales bibliotecas estándar están organizadas en dos perfiles estándar, el perfil de núcleo y el perfil compacto. [1] 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. [2] [3] [4] [5]

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. [6]

Perfil compacto

El perfil compacto contiene las bibliotecas del perfil del núcleo, así como la biblioteca de red, la biblioteca de reflexión y la biblioteca XML. [7]

Bibliotecas

Biblioteca de clases base

La biblioteca de clases base es una biblioteca de tiempo de ejecución sencilla 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. [8] Define tipos en los siguientes espacios de nombres:

Sistema
Define la clase Object de la que se derivan todos los objetos de tipo de referencia (incluidos los objetos de tipo valor) y la clase ValueType de la que se derivan todos los objetos de tipo valor . También define los tipos de datos base como números enteros , números de punto flotante , caracteres , cadenas , booleanos , enumeraciones y más. Se proporciona compatibilidad con el entorno y la plataforma y una interfaz de línea de comandos junto con clases base para excepciones y atributos . Define matrices y delegados , funciones matemáticas y muchos otros tipos.
Sistema.Colecciones
Define muchos tipos de contenedores comunes utilizados en programación, como diccionarios , tablas hash , listas , colas y pilas .
Sistema.Colecciones.Genérico
Define los tipos genéricos de los tipos de contenedor en el espacio de nombres System.Collections.
Sistema.Diagnóstico
Define los tipos que brindan la capacidad de diagnosticar aplicaciones. Incluye registro de eventos , contadores de rendimiento, seguimiento e interacción con procesos del sistema.
Sistema.Globalización
Define tipos que definen información relacionada con la cultura, incluido el idioma, el país/región, los calendarios en uso, los patrones de formato para fechas, moneda y números, y el orden de clasificación de las cadenas.
Sistema.IO
Define el tipo que permite leer y escribir en diferentes flujos , como archivos u otros flujos de datos . También proporciona una conexión al sistema de archivos .
Sistema.Seguridad
Define los tipos que representan el sistema de seguridad y los permisos.
Sistema.Seguridad.Permisos
Define los tipos que controlan el acceso a las operaciones y los recursos según la política.
Sistema.Texto
Define tipos que admiten varias codificaciones de caracteres , expresiones regulares y un mecanismo más eficiente para manipular cadenas.
Sistema.Subprocesamiento
Define tipos que permiten la programación multiproceso .
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 apuntar a la CLI y las instalaciones necesarias para cargar dinámicamente tipos desde una secuencia en un formato de archivo especificado. [9] Define tipos en los siguientes espacios de nombres:

Sistema
Define tipos para el dominio de la aplicación , punteros , controladores y más.
Sistema.Reflexión
Define tipos que proporcionan una vista administrada de los tipos, métodos y campos cargados, y que pueden crear e invocar tipos de forma dinámica. Estos tipos son relevantes para el tiempo de ejecución del programa .
Sistema.Tiempo de ejecución.CompilerServices
Define los tipos que proporcionan funcionalidad a los escritores de compiladores que utilizan código administrado para especificar atributos en metadatos que afectan el comportamiento en tiempo de ejecución del Sistema de ejecución virtual .
Sistema.Tiempo de ejecución.InteropServices
Define los tipos que admiten los servicios de invocación de plataforma (P/Invoke).

Biblioteca de red

La biblioteca de red proporciona servicios de red simples que incluyen acceso directo a puertos de red y soporte HTTP. [10] Define tipos en los siguientes espacios de nombres:

Sistema
Define tipos que proporcionan una representación de objeto de un identificador de recurso uniforme (URI) y un acceso fácil a las partes del URI.
Sistema.Colecciones.Especializadas
Define colecciones especializadas y fuertemente tipadas; por ejemplo, un diccionario de lista enlazada, un vector de bits y colecciones que contienen solo cadenas.
Sistema.Net
Define tipos que proporcionan una interfaz de programación simple para varios protocolos de red .
Sistema.Net.Sockets
Define el tipo que proporciona una implementación administrada de la interfaz de Windows Sockets (Winsock) para desarrolladores que necesitan controlar estrictamente el acceso a la red.

Biblioteca de Reflexiones

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

Sistema
Define el tipo void , un tipo de valor de retorno para un método que no devuelve un valor.
Sistema.Globalización
Define el tipo que proporciona información sobre una cultura específica (denominada configuración regional para el desarrollo de código no administrado). La información incluye los nombres de la cultura, el sistema de escritura, el calendario utilizado y el formato de las fechas y las cadenas de ordenación.
Sistema.Reflexión
Define tipos que proporcionan una vista administrada de tipos, métodos y campos cargados, y que pueden crear e invocar tipos dinámicamente.
Sistema.Seguridad.Permisos
Define los tipos que controlan el acceso a las operaciones y los recursos según la política. Estos tipos son relevantes para la reflexión .

Biblioteca XML

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

Sistema.Xml
Define tipos para procesar XML .

Biblioteca de matrices extendidas

La biblioteca de matrices extendidas proporciona compatibilidad con matrices no vectoriales, es decir, matrices que tienen más de una dimensión o matrices que tienen límites inferiores distintos de cero. [2] La biblioteca de matrices extendidas no agrega ningún tipo adicional, pero sí extiende el mecanismo de manejo de matrices. [13]

Biblioteca de números extendidos

La biblioteca Extended Numerics ofrece compatibilidad con 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, el estándar C# hace referencia directa a esta biblioteca. [3]

Biblioteca paralela

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

Biblioteca Vararg

La biblioteca Vararg proporciona soporte para trabajar con listas de argumentos de longitud variable. [5]

Véase también

Referencias

  1. ^ "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.
  2. ^ ab "IV.5.8 Biblioteca de matrices extendidas". Norma ECMA-335 – Infraestructura de lenguaje común (CLI) (informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 441.
  3. ^ ab "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.
  4. ^ ab "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.
  5. ^ ab "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.
  6. ^ "IV.3.1 El perfil del núcleo". Norma ECMA-335 – Common Language Infrastructure (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 437.
  7. ^ "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.
  8. ^ "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.
  9. ^ "IV.5.2 Biblioteca de infraestructura de ejecución". Norma ECMA-335 – Common Language Infrastructure (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 440.
  10. ^ "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.
  11. ^ "IV.5.5 Biblioteca de reflexión". Norma ECMA-335 – Common Language Infrastructure (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 440.
  12. ^ "IV.5.6 Biblioteca XML". Norma ECMA-335 – Common Language Infrastructure (CLI) (Informe técnico) (6.ª ed.). Ecma International . Junio ​​de 2012. pág. 440.
  13. ^ King, Jason; Easton, Mark (2004). "Capítulo 4: Análisis de .NET Framework". En Gilmore, Jason (ed.). Desarrollo multiplataforma de .NET: uso de Mono, Portable.NET y Microsoft .NET . Apress . pág. 110. ISBN. 1-59059-330-8. Número de serie LCCN  2004018339.

Enlaces externos