Из Википедии, бесплатной энциклопедии
  (Перенаправлено из библиотеки базовых классов )
Перейти к навигации Перейти к поиску

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

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

Библиотека классов Рамки (ГКЛ) является источником стандартных библиотек как .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 Sockets (Winsock) для разработчиков, которым необходимо строго контролировать доступ к сети.

Библиотека отражений [ править ]

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

Система
Определяет тип void, тип возвращаемого значения для метода, который не возвращает значение.
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]

См. Также [ править ]

  • Список типов данных стандартных библиотек
  • Библиотека классов Framework

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • Ecma International, Стандарт ECMA-335, Common Language Infrastructure (CLI), 6-е издание (июнь 2012 г.)
  • Ecma International, Технический отчет TR / 84, Common Language Infrastructure (CLI) - Информация, полученная из XML-файла раздела IV, 6-е издание (июнь 2012 г.)