Momotik.ru

Народный проект

Base 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 
Обеспечивает поддержку локальных и распределённых транзакций.

См. также

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

Примечания

  1. MSDN Documentation — System.CodeDom Namespace
  2. MSDN Documentation — System.ComponentModel Namespace
  3. MSDN Documentation — System.Globalization Namespace
  4. MSDN Documentation — System.Management Namespace
  5. MSDN Documentation — System.Messaging Namespace
  6. MSDN Documentation — System.Net Namespace
  7. MSDN Documentation — System.Reflection Namespace
  8. MSDN Documentation — System.Security Namespace
  9. MSDN Documentation — System.Threading Namespace
  10. 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.