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.


1. Простори імен (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 і пов'язані з ним методи, які дозволяють підключати провайдери 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 - msdn2.microsoft.com/en-us/library/system.codedom.aspx
  2. MSDN Documentation - System.ComponentModel Namespace - msdn2.microsoft.com/en-us/library/system.componentmodel.aspx
  3. MSDN Documentation - System.Globalization Namespace - msdn2.microsoft.com/en-us/library/system.globalization.aspx
  4. MSDN Documentation - System.Management Namespace - msdn2.microsoft.com/en-us/library/system.management.aspx
  5. MSDN Documentation - System.Messaging Namespace - msdn2.microsoft.com/en-us/library/system.messaging.aspx
  6. MSDN Documentation - System.Net Namespace - msdn2.microsoft.com/en-us/library/system.net.aspx
  7. MSDN Documentation - System.Reflection Namespace - msdn2.microsoft.com/en-us/library/system.reflection.aspx
  8. MSDN Documentation - System.Security Namespace - msdn2.microsoft.com/en-us/library/system.security.aspx
  9. MSDN Documentation - System.Threading Namespace - msdn2.microsoft.com/en-us/library/system.threading.aspx
  10. MSDN Documentation - System.Timers Namespace - msdn2.microsoft.com/en-us/library/system.timers.aspx