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
Обеспечивает возможность создавать код и запускать его.
Обеспечивает возможность реализовывать поведение компонентов в режимах run-time и design-time. Содержит инфраструктуру «для реализации атрибутов и преобразования типов, связывания с источниками данных и лицензированными компонентами».
System.Configuration
Содержит компоненты для управления конфигурационными данными.
System.Data
Это
пространство имён
представляет архитектуру
ADO.NET
, являющуюся набором программных компонентов, которые могут быть использованы для доступа к данным и для обслуживания данных.
System.Deployment
Позволяет настроить способ обновления приложения с использованием технологии
ClickOnce
.
System.Diagnostics
Предоставляет возможность диагностировать разрабатываемое приложение. Включает журнал событий, счётчики производительности, трассировку и взаимодействие с системными процессами.
Предоставляет доступ к
GDI+
, включая поддержку для 2D растровой и векторной графики, изображений, печати и работы с текстом.
System.Globalization
Предоставляет помощь для написания интернационализированных приложений. Может быть определена информация, связанная с культурой, включая язык, страну/регион, календарь, шаблоны формата даты, валюты и цифр.
System.IO
Позволяет осуществлять считывание и запись в различные
потоки
, такие как файлы и другие потоки данных. Также обеспечивает взаимодействие с
файловой системой
.
System.Management
Предоставляет средства для запроса информации, такой как количество свободного места на диске, информация о
процессоре
, к какой
базе данных
подключено определённое приложение, и многое другое.
System.Media
Позволяет проигрывать системные звуки и файлы в формате .wav.
System.Messaging
Позволяет отображать и управлять очередью сообщений в сети, а также отсылать, принимать и просматривать сообщения.
Другое имя для некоторых предоставленных функциональностей —
.Net Remoting
. Это пространство имён заменено
Windows Communication Foundation
.
System.Net
Предоставляет интерфейс для многих протоколов, используемых в сетях в настоящее время,
таких как
HTTP
,
FTP
, и
SMTP
. Безопасность общения поддерживается протоколами наподобие
SSL
.
Определяет интерфейс
IQueryable<T>
и связанные с ним методы, которые позволяют подключать провайдеры
LINQ
.
System.Linq.Expressions
Позволяет
делегатам
и
лямбда-выражениям
быть представленными как
, так, что высокоуровневый код может быть просмотрен и обработан во время его выполнения.
System.Reflection
Обеспечивает объектное представление типов, методов и свойств(полей). Предоставляет возможность динамически создавать и вызывать типы.
Открывает
API
для доступа к возможностям
рефлексивного программирования
в
CLR
.
System.Resources
Позволяет управлять различными ресурсами в приложении, используемых, в частности, для интернационализации приложения на разных языках.
Предоставляет функциональности внутренней системы безопасности
CLR
.
Это пространство имён позволяет разрабатывать модули безопасности для приложений, базирующиеся на политиках и разрешениях. Обеспечивает доступ к средствам
криптографии
.
System.ServiceProcess
Позволяет создавать приложения, запускаемые как
сервисы
в системе
Windows
.
System.Text
Поддерживает различные кодировки,
регулярные выражения
, и другие полезные механизмы для работы со строками(класс
).
System.Threading
Облегчает мультипотоковое программирование.
System.Timers
Позволяет вызвать событие через определённый интервал времени.
System.Transactions
Обеспечивает поддержку локальных и распределённых транзакций.