Стандартные библиотеки (CLI) - Standard Libraries (CLI)

В Стандартные библиотеки это набор библиотек, входящих в Инфраструктура общего языка (CLI) для инкапсуляции многих общих функций, таких как чтение и запись файлов, XML манипулирование документами, Обработка исключений, заявление глобализация, сетевая связь, заправка и отражение, что упрощает работу программиста. Его объем намного больше, чем у стандартных библиотек для большинства других языков, включая C ++, и сопоставима по объему и охвату с стандартные библиотеки Java.

Список стандартных библиотек: Библиотека базовых классов (BCL), Библиотека инфраструктуры времени выполнения (обе части профиля ядра) Сетевая библиотека, Библиотека Reflexion, Библиотека XML (которые с двумя первыми перечисленными библиотеками являются частью компактного профиля и Расширенного массива Библиотека, параллельная библиотека, библиотека с плавающей запятой.

В Библиотека классов Framework (FCL) является источником стандартных библиотек, поскольку .NET Framework, включающий FCL, является первой реализацией CLI.

Профили

Основные стандартные библиотеки сгруппированы в два стандартных профиля: профиль ядра и компактный профиль.[1] Следующие стандартные библиотеки не относятся ни к какому профилю: расширенная библиотека массивов, расширенная библиотека числовых значений, параллельная библиотека и библиотека Vararg.[2][3][4][5]

Профиль ядра

Профиль ядра - это подмножество компактного профиля. Профиль ядра содержит библиотеку базовых классов (BCL) и библиотеку инфраструктуры времени выполнения.[6]

Компактный профиль

Компактный профиль содержит эти библиотеки в профиле ядра, а также сетевую библиотеку, библиотеку отражений и библиотеку XML.[7]

Библиотеки

Библиотека базового класса

Библиотека базовых классов - это простая библиотека времени выполнения для современных языков программирования. Он служит стандартом для библиотеки времени выполнения для языка C #, а также одной из стандартных библиотек CLI. Он предоставляет типы для представления встроенных типов данных интерфейса командной строки, простого доступа к файлам, настраиваемых атрибутов, атрибутов безопасности, обработки строк, форматирования, потоков, коллекций и прочего.[8] Он определяет типы в следующих пространствах имен:

Система
Определяет класс Object, который все ссылочный тип объекты являются производными от (включая объекты-значения) и класса ValueType, который все тип ценности объекты происходят из. Он также определяет базовые типы данных, такие как целые числа, числа с плавающей запятой, персонаж, струны, Булево, перечисление и больше. Поддержка среды и платформы, а также Интерфейс командной строки предоставляется вместе с базовыми классами для исключения и атрибуты. Это определяет массивы и делегаты, математические функции и многие другие типы.
System.Collections
Определяет многие общие типы контейнеров используется в программировании, например словари, хэш-таблицы, списки, очереди и стеки.
System.Collections.Generic
Определяет общие типы типов контейнеров в пространстве имен System.Collections.
Система. Диагностика
Определяет типы, обеспечивающие возможность диагностики приложений. Это включает в себя регистрация событий, счетчики производительности, отслеживание и взаимодействие с системными процессами.
System.Globalization
Определяет типы, которые определяют информацию, связанную с культурой, включая язык, страну / регион, используемые календари, шаблоны формата для дат, валюту и числа, а также порядок сортировки строк.
System.IO
Определяет тип, который разрешает чтение и запись в разные потоки, например, файлы или другие потоки данных. Также обеспечивает подключение к файловая система.
Система. Безопасность
Определяет типы, представляющие систему безопасности и разрешения.
System.Security.Permissions
Определяет типы, которые управляют доступом к операциям и ресурсам на основе политики.
System.Text
Определяет типы, поддерживающие различные кодировки символов, обычные выражения и более эффективный механизм для управления строками.
System.Threading
Определяет типы, которые позволяют многопоточное программирование.

Библиотека инфраструктуры времени выполнения

Библиотека инфраструктуры времени выполнения предоставляет службы, необходимые компилятору для нацеливания на интерфейс командной строки, и средства, необходимые для динамической загрузки типов из потока в указанном формате файла.[9] Он определяет типы в следующих пространствах имен:

Система
Определяет типы для домен приложения, указатели, ручки и больше.
System.Reflection
Определяет типы, которые обеспечивают управляемое представление загруженных типов, методов и полей и могут динамически создавать и вызывать типы. Эти типы относятся к время выполнения программы.
System.Runtime.CompilerServices
Определяет типы, обеспечивающие функциональность для разработчиков компилятора, использующих управляемый код для указания атрибуты в метаданные которые влияют на поведение во время выполнения Виртуальная система исполнения.
System.Runtime.InteropServices
Определяет типы, поддерживающие Сервисы вызова платформы (P / Invoke).

Сетевая библиотека

Сетевая библиотека предоставляет простые сетевые службы, включая прямой доступ к сетевым портам, а также поддержку HTTP.[10] Он определяет типы в следующих пространствах имен:

Система
Определяет типы, которые обеспечивают объектное представление единый идентификатор ресурса (URI) и легкий доступ к частям URI.
System.Collections.Specialized
Определяет специализированные и строго типизированные коллекции; например, словарь связанного списка, битовый вектор и коллекции, содержащие только строки.
System.Net
Определяет типы, которые обеспечивают простой интерфейс программирования для ряда сетевые протоколы.
System.Net.Sockets
Определяет тип, обеспечивающий управляемую реализацию Сокеты Windows (Winsock) интерфейс для разработчиков, которым необходимо жестко контролировать доступ к сети.

Библиотека отражений

Библиотека отражения предоставляет возможность исследовать структуру типов, создавать экземпляры типов и вызывать методы для типов, и все это на основе описания типа.[11] Он определяет типы в следующих пространствах имен:

Система
Определяет тип пустоты, тип возвращаемого значения для метода, который не возвращает значение.
System.Globalization
Определяет тип, предоставляющий информацию о конкретной культуре (называемой языковым стандартом для разработки неуправляемого кода). Информация включает в себя названия культур, системы письма, используемого календаря и форматирование дат и строк сортировки.
System.Reflection
Определяет типы, которые обеспечивают управляемое представление загруженных типов, методов и полей и могут динамически создавать и вызывать типы.
System.Security.Permissions
Определяет типы, которые управляют доступом к операциям и ресурсам на основе политики. Эти типы относятся к отражение.

XML-библиотека

Библиотека XML предоставляет простой синтаксический анализатор XML в стиле «вытягивания». Он разработан для устройств с ограниченными ресурсами, но предоставляет простую пользовательскую модель.[12] Он определяет типы в следующем пространстве имен.

System.Xml
Определяет типы для обработки XML.

Расширенная библиотека массивов

Библиотека расширенных массивов обеспечивает поддержку не векторных массивов. То есть массивы, имеющие более одного измерения, или массивы с ненулевыми нижними границами.[2] Библиотека расширенных массивов не добавляет никаких дополнительных типов, но расширяет механизм обработки массивов.[13]

Расширенная цифровая библиотека

Библиотека расширенных чисел обеспечивает поддержку типов данных с плавающей запятой (System.Single, System.Double) и расширенной точности (System.Decimal). Как и библиотека базовых классов, на эту библиотеку прямо ссылается стандарт C #.[3]

Параллельная библиотека

Параллельная библиотека обеспечивает простой параллелизм для неспециалистов-программистов, так что можно использовать многопоточные ЦП.[4]

Библиотека Варарг

Библиотека Vararg поддерживает работу со списками аргументов переменной длины.[5]

Смотрите также

Рекомендации

  1. ^ «IV.3 Стандартные профили». Стандартный ECMA-335 - Инфраструктура общего языка (CLI) (Технический отчет) (6-е изд.). Ecma International. Июнь 2012. с. 437.
  2. ^ а б «IV.5.8 Расширенная библиотека массивов». Стандартный ECMA-335 - Инфраструктура общего языка (CLI) (Технический отчет) (6-е изд.). Ecma International. Июнь 2012. с. 441.
  3. ^ а б «IV.5.7 Расширенная цифровая библиотека». Стандартный ECMA-335 - Инфраструктура общего языка (CLI) (Технический отчет) (6-е изд.). Ecma International. Июнь 2012. с. 441.
  4. ^ а б «IV.5.10 Параллельная библиотека». Стандартный ECMA-335 - Инфраструктура общего языка (CLI) (Технический отчет) (6-е изд.). Ecma International. Июнь 2012. с. 441.
  5. ^ а б «IV.5.9 Библиотека Варарг». Стандартный ECMA-335 - Инфраструктура общего языка (CLI) (Технический отчет) (6-е изд.). Ecma International. Июнь 2012. с. 441.
  6. ^ «IV.3.1 Профиль ядра». Стандартный ECMA-335 - Инфраструктура общего языка (CLI) (Технический отчет) (6-е изд.). Ecma International. Июнь 2012. с. 437.
  7. ^ «IV.3.2 Компактный профиль». Стандартный ECMA-335 - Инфраструктура общего языка (CLI) (Технический отчет) (6-е изд.). Ecma International. Июнь 2012. с. 437.
  8. ^ «IV.5.3 Библиотека базовых классов (BCL)». Стандартный ECMA-335 - Инфраструктура общего языка (CLI) (Технический отчет) (6-е изд.). Ecma International. Июнь 2012. с. 440.
  9. ^ «IV.5.2 Библиотека инфраструктуры времени выполнения». Стандартный ECMA-335 - Инфраструктура общего языка (CLI) (Технический отчет) (6-е изд.). Ecma International. Июнь 2012. с. 440.
  10. ^ «IV.5.4 Сетевая библиотека». Стандартный ECMA-335 - Инфраструктура общего языка (CLI) (Технический отчет) (6-е изд.). Ecma International. Июнь 2012. с. 440.
  11. ^ «IV.5.5 Библиотека отражений». Стандартный ECMA-335 - Инфраструктура общего языка (CLI) (Технический отчет) (6-е изд.). Ecma International. Июнь 2012. с. 440.
  12. ^ «Библиотека IV.5.6 XML». Стандартный ECMA-335 - Инфраструктура общего языка (CLI) (Технический отчет) (6-е изд.). Ecma International. Июнь 2012. с. 440.
  13. ^ Король, Джейсон; Истон, Марк (2004). «Глава 4: Рассмотрение NET Framework». В Гилморе, Джейсон (ред.). Кросс-платформенная разработка .NET: использование Mono, Portable.NET и Microsoft .NET. Apress. п. 110. ISBN  1-59059-330-8. LCCN  2004018339.

внешняя ссылка