Base Class Library
Base Class Library, или так называемая .NET FCL (англ. Framework Class Library), сокращённо BCL — стандартная библиотека классов платформы «.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
- Обеспечивает поддержку локальных и распределённых транзакций.
См. также
- ADO.NET
- ASP.NET
- Windows Forms
- Java Class Library
- Standard library
Другие возможности .NET framework
Примечания
- MSDN Documentation — System.CodeDom Namespace
- MSDN Documentation — System.ComponentModel Namespace
- MSDN Documentation — System.Globalization Namespace
- MSDN Documentation — System.Management Namespace
- MSDN Documentation — System.Messaging Namespace
- MSDN Documentation — System.Net Namespace
- MSDN Documentation — System.Reflection Namespace
- MSDN Documentation — System.Security Namespace
- MSDN Documentation — System.Threading Namespace
- MSDN Documentation — System.Timers Namespace
Ссылки
- .NET Framework Developer Center. Microsoft Developer Network (MSDN).
- Base Class Libraries Community. Информация про BCL.
- .NET Framework 3.5 namespaces
- MSDN BCL Documentation.
- BCLTeam’s WebLog.