Base Class Library

Перейти к навигацииПерейти к поиску

Base Class Library — стандартная библиотека классов платформы «.NET Framework». Программы, написанные на любом из языков, поддерживающих платформу .NET, могут пользоваться классами и методами BCL — создавать объекты классов, вызывать их методы, наследовать необходимые классы BCL и т. д.

Не все языки, поддерживающие платформу .NET, предоставляют или обязаны предоставлять одинаково полный доступ ко всем классам и всем возможностям BCL — это зависит от особенностей реализации конкретного компилятора и языка.

В отличие от многих других библиотек классов, например, MFC, ATL/WTL или SmartWin, библиотека BCL не является некоей «надстройкой» над функциями операционной системы или над каким-либо API. BCL является органической частью самой платформы .NET Framework, её «родным» API. Её можно рассматривать как API виртуальной машины .NET.

BCL обновляется с каждой версией .NET Framework.

Пространства имён (Namespaces)

System
Наиболее важное пространство имён. Включает в себя все примитивные типы языка C#: «пустой» тип Void, знаковые и беззнаковые целочисленные типы (например, Int32), типы чисел с плавающей запятой одинарной и двойной точности (Single, Double), «финансовый» тип Decimal, логический тип Boolean, символьный и строковый типы Char и String, а также, например, тип DateTime и другие. Обеспечивает также необходимым набором инструментов для работы с консолью, математическими функциями, и базовыми классами для атрибутов, исключений и массивов.
System.CodeDom
Обеспечивает возможность создавать код и запускать его.[1]
System.Collections
Определяет множество общих контейнеров или коллекций, используемых в программировании — такие как список, очередь, стек, хеш-таблица и некоторые другие. Также включена поддержка обобщений (Generics).
System.ComponentModel
Обеспечивает возможность реализовывать поведение компонентов в режимах run-time и design-time. Содержит инфраструктуру «для реализации атрибутов и преобразования типов, связывания с источниками данных и лицензированными компонентами».[2]
System.Configuration
Содержит компоненты для управления конфигурационными данными.
System.Data
Это пространство имён представляет архитектуру ADO.NET, являющуюся набором программных компонентов, которые могут быть использованы для доступа к данным и для обслуживания данных.
System.Deployment
Позволяет настроить способ обновления приложения с использованием технологии ClickOnce.
System.Diagnostics
Предоставляет возможность диагностировать разрабатываемое приложение. Включает журнал событий, счётчики производительности, трассировку и взаимодействие с системными процессами.
System.DirectoryServices
Обеспечивает лёгкий доступ к Active Directory из управляемого кода.
System.Drawing
Предоставляет доступ к GDI+, включая поддержку для 2D растровой и векторной графики, изображений, печати и работы с текстом.
System.Globalization
Предоставляет помощь для написания интернационализированных приложений. Может быть определена информация, связанная с культурой, включая язык, страну/регион, календарь, шаблоны формата даты, валюты и цифр.[3]
System.IO
Позволяет осуществлять считывание и запись в различные потоки, такие как файлы и другие потоки данных. Также обеспечивает взаимодействие с файловой системой.
System.Management
Предоставляет средства для запроса информации, такой как количество свободного места на диске, информация о процессоре, к какой базе данных подключено определённое приложение, и многое другое.[4]
System.Media
Позволяет проигрывать системные звуки и файлы в формате .wav.
System.Messaging
Позволяет отображать и управлять очередью сообщений в сети, а также отсылать, принимать и просматривать сообщения.[5] Другое имя для некоторых предоставленных функциональностей — .Net Remoting. Это пространство имён заменено Windows Communication Foundation.
System.Net
Предоставляет интерфейс для многих протоколов, используемых в сетях в настоящее время,[6] таких как HTTP, FTP, и SMTP. Безопасность общения поддерживается протоколами наподобие SSL.
System.Linq
Определяет интерфейс IQueryable<T> и связанные с ним методы, которые позволяют подключать провайдеры LINQ.
System.Linq.Expressions
Позволяет делегатам и лямбда-выражениям быть представленными как деревья выражений, так, что высокоуровневый код может быть просмотрен и обработан во время его выполнения.
System.Reflection
Обеспечивает объектное представление типов, методов и свойств(полей). Предоставляет возможность динамически создавать и вызывать типы.[7] Открывает API для доступа к возможностям рефлексивного программирования в CLR.
System.Resources
Позволяет управлять различными ресурсами в приложении, используемых, в частности, для интернационализации приложения на разных языках.
System.Runtime
Позволяет управлять поведением приложения или CLR в режиме Run-time. Некоторые из включённых возможностей взаимодействуют с COM, сериализированными объектами внутри двоичного файла или SOAP.
System.Security
Предоставляет функциональности внутренней системы безопасности CLR.[8] Это пространство имён позволяет разрабатывать модули безопасности для приложений, базирующиеся на политиках и разрешениях. Обеспечивает доступ к средствам криптографии.
System.ServiceProcess
Позволяет создавать приложения, запускаемые как сервисы в системе Windows.
System.Text
Поддерживает различные кодировки, регулярные выражения, и другие полезные механизмы для работы со строками(класс StringBuilder).
System.Threading
Облегчает мультипотоковое программирование.[9]
System.Timers
Позволяет вызвать событие через определённый интервал времени.[10]
System.Transactions
Обеспечивает поддержку локальных и распределённых транзакций.

См. также

Другие возможности .NET framework

Примечания

  1. MSDN Documentation — System.CodeDom Namespace. Дата обращения: 13 февраля 2008. Архивировано 18 февраля 2008 года.
  2. MSDN Documentation — System.ComponentModel Namespace. Дата обращения: 13 февраля 2008. Архивировано 15 февраля 2008 года.
  3. MSDN Documentation — System.Globalization Namespace. Дата обращения: 13 февраля 2008. Архивировано 4 февраля 2008 года.
  4. MSDN Documentation — System.Management Namespace. Дата обращения: 13 февраля 2008. Архивировано 16 апреля 2008 года.
  5. MSDN Documentation — System.Messaging Namespace. Дата обращения: 13 февраля 2008. Архивировано 18 февраля 2008 года.
  6. MSDN Documentation — System.Net Namespace. Дата обращения: 13 февраля 2008. Архивировано 3 февраля 2008 года.
  7. MSDN Documentation — System.Reflection Namespace. Дата обращения: 13 февраля 2008. Архивировано 18 февраля 2008 года.
  8. MSDN Documentation — System.Security Namespace. Дата обращения: 13 февраля 2008. Архивировано 13 февраля 2008 года.
  9. MSDN Documentation — System.Threading Namespace. Дата обращения: 13 февраля 2008. Архивировано 6 февраля 2008 года.
  10. MSDN Documentation — System.Timers Namespace. Дата обращения: 13 февраля 2008. Архивировано 6 февраля 2008 года.

Ссылки