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
[править | править код]- Windows Presentation Foundation
 - Windows Communication Foundation
 - Windows Workflow Foundation
 - Windows CardSpace
 
Примечания
[править | править код]- ↑ MSDN Documentation — System.CodeDom Namespace. Дата обращения: 13 февраля 2008. Архивировано 18 февраля 2008 года.
 - ↑ MSDN Documentation — System.ComponentModel Namespace. Дата обращения: 13 февраля 2008. Архивировано 15 февраля 2008 года.
 - ↑ MSDN Documentation — System.Globalization Namespace. Дата обращения: 13 февраля 2008. Архивировано 4 февраля 2008 года.
 - ↑ MSDN Documentation — System.Management Namespace. Дата обращения: 13 февраля 2008. Архивировано 16 апреля 2008 года.
 - ↑ MSDN Documentation — System.Messaging Namespace. Дата обращения: 13 февраля 2008. Архивировано 18 февраля 2008 года.
 - ↑ MSDN Documentation — System.Net Namespace. Дата обращения: 13 февраля 2008. Архивировано 3 февраля 2008 года.
 - ↑ MSDN Documentation — System.Reflection Namespace. Дата обращения: 13 февраля 2008. Архивировано 18 февраля 2008 года.
 - ↑ MSDN Documentation — System.Security Namespace. Дата обращения: 13 февраля 2008. Архивировано 13 февраля 2008 года.
 - ↑ MSDN Documentation — System.Threading Namespace. Дата обращения: 13 февраля 2008. Архивировано 6 февраля 2008 года.
 - ↑ MSDN Documentation — System.Timers Namespace. Дата обращения: 13 февраля 2008. Архивировано 6 февраля 2008 года.
 
Ссылки
[править | править код]- .NET Framework Developer Center. Microsoft Developer Network (MSDN).
 - Base Class Libraries Community. Информация про BCL.
 - .NET Framework 3.5 namespaces
 - MSDN BCL Documentation.
 - BCLTeam’s WebLog.