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 Обеспечивает возможность создавать код и запускать его. System.Collections Определяет множество общих контейнеров или коллекций, используемых в программировании — такие как список, очередь, стек, хеш-таблица и некоторые другие. Также включена поддержка обобщений (Generics). System.ComponentModel Обеспечивает возможность реализовывать поведение компонентов в режимах run-time и design-time. Содержит инфраструктуру «для реализации атрибутов и преобразования типов, связывания с источниками данных и лицензированными компонентами». System.Configuration Содержит компоненты для управления конфигурационными данными. System.Data Это пространство имён представляет архитектуру ADO.NET, являющуюся набором программных компонентов, которые могут быть использованы для доступа к данным и для обслуживания данных. System.Deployment Позволяет настроить способ обновления приложения с использованием технологии ClickOnce. System.Diagnostics Предоставляет возможность диагностировать разрабатываемое приложение. Включает журнал событий, счётчики производительности, трассировку и взаимодействие с системными процессами. System.DirectoryServices Обеспечивает лёгкий доступ к Active Directory из управляемого кода. System.Drawing Предоставляет доступ к GDI+, включая поддержку для 2D растровой и векторной графики, изображений, печати и работы с текстом. System.Globalization Предоставляет помощь для написания интернационализированных приложений. Может быть определена информация, связанная с культурой, включая язык, страну/регион, календарь, шаблоны формата даты, валюты и цифр. System.IO Позволяет осуществлять считывание и запись в различные потоки, такие как файлы и другие потоки данных. Также обеспечивает взаимодействие с файловой системой. System.Management Предоставляет средства для запроса информации, такой как количество свободного места на диске, информация о процессоре, к какой базе данных подключено определённое приложение, и многое другое. System.Media Позволяет проигрывать системные звуки и файлы в формате .wav. System.Messaging Позволяет отображать и управлять очередью сообщений в сети, а также отсылать, принимать и просматривать сообщения. Другое имя для некоторых предоставленных функциональностей — .Net Remoting. Это пространство имён заменено Windows Communication Foundation. System.Net Предоставляет интерфейс для многих протоколов, используемых в сетях в настоящее время, таких как HTTP, FTP, и SMTP. Безопасность общения поддерживается протоколами наподобие SSL. System.Linq Определяет интерфейс IQueryable<T> и связанные с ним методы, которые позволяют подключать провайдеры LINQ. System.Linq.Expressions Позволяет делегатам и лямбда-выражениям быть представленными как деревья выражений, так, что высокоуровневый код может быть просмотрен и обработан во время его выполнения. System.Reflection Обеспечивает объектное представление типов, методов и свойств(полей). Предоставляет возможность динамически создавать и вызывать типы. Открывает API для доступа к возможностям рефлексивного программирования в CLR. System.Resources Позволяет управлять различными ресурсами в приложении, используемых, в частности, для интернационализации приложения на разных языках. System.Runtime Позволяет управлять поведением приложения или CLR в режиме Run-time. Некоторые из включённых возможностей взаимодействуют с COM, сериализированными объектами внутри двоичного файла или SOAP. System.Security Предоставляет функциональности внутренней системы безопасности CLR. Это пространство имён позволяет разрабатывать модули безопасности для приложений, базирующиеся на политиках и разрешениях. Обеспечивает доступ к средствам криптографии. System.ServiceProcess Позволяет создавать приложения, запускаемые как сервисы в системе Windows. System.Text Поддерживает различные кодировки, регулярные выражения, и другие полезные механизмы для работы со строками(класс StringBuilder). System.Threading Облегчает мультипотоковое программирование. System.Timers Позволяет вызвать событие через определённый интервал времени. System.Transactions Обеспечивает поддержку локальных и распределённых транзакций.
См. также ADO.NET ASP.NET Windows Forms Java Class Library Standard library
Другие возможности .NET framework Windows Presentation Foundation Windows Communication Foundation Windows Workflow Foundation Windows CardSpace
Примечания
Ссылки .NET Framework Developer Center. Microsoft Developer Network (MSDN). Base Class Libraries Community. Информация про BCL. .NET Framework 3.5 namespaces MSDN BCL Documentation. BCLTeam’s WebLog.
Категория:.NET