Общие сведения о библиотеке классов .NET Framework
.NET Framework содержит классы, интерфейсы и типы значений, которые облегчают и оптимизируют процесс разработки, а также обеспечивают доступ к функциям системы. Для упрощения взаимодействия между языками большинство типов платформы .NET Framework являются CLS-совместимыми, и поэтому их можно использовать в любом языке программирования, компилятор которого соответствует спецификации CLS.
Типы .NET Framework представляют собой основу для создания элементов управления, компонентов и приложений .NET. .NET Framework содержит типы, предназначенные для следующих задач:
представление базовых типов данных и исключений;
инкапсуляция структур данных;
операции ввода-вывода;
доступ к данным о загруженных типах;
вызов проверок безопасности .NET Framework;
доступ к данным, предоставление графического пользовательского интерфейса на стороне клиента и управляемого сервером графического пользовательского интерфейса на стороне клиента.
.NET Framework предлагает расширенный набор интерфейсов, а также абстрактных и конкретных (неабстрактных) классов. Можно использовать существующие конкретные классы, кроме того, во многих случаях на их основе можно создавать собственные производные классы. Чтобы использовать возможности интерфейса, можно либо создать класс, реализующий интерфейс, либо создать производный класс на основе одного из классов .NET Framework, реализующего интерфейс.
Соглашения об именах
Для типов платформы .NET Framework используется схема именования через точку, описывающая иерархию. При таком подходе связанные типы группируются в пространства имен, что упрощает их поиск и создание ссылок. Первая часть полного имени — до крайней правой точки — это имя пространства имен. Последняя часть имени — это имя типа. Например System.Collections.ArrayList представляет собой тип ArrayList, который принадлежит пространству имен System.Collections. Типы в System.Collections можно использовать для работы с коллекциями объектов.
Такая схема именования упрощает разработчикам библиотек задачу расширения .NET Framework с целью создания иерархических групп типов и присвоения им согласованных между собой и понятных имен. Она также позволяет однозначно идентифицировать типы по их полным именам (то есть по пространству имен и имени типа), что предотвращает конфликты имен типов. Ожидается, что разработчики библиотек при создании имен для пространств имен будут руководствоваться следующим правилом:
CompanyName.TechnologyName
Например, пространство имен Microsoft.Word соответствует этому правилу.
Использование шаблонов именования для группировки связанных типов в пространства имен очень полезно при создании и документировании библиотек классов. Однако такая схема именования не влияет на видимость, доступ к членам, наследование, безопасность и привязки. Пространство имен может быть разделено между несколькими сборками, и одна сборка может содержать типы из нескольких пространств имен. Сборка представляет собой формальную структуру для управления версиями, развертывания, обеспечения безопасности, загрузки и обеспечения видимости в среде CLR.
Дополнительные сведения о пространствах имен и именах типов см. в разделе Система общих типов CTS.
Пространство имен System
Пространство имен System является корневым пространством имен для основных типов в .NET Framework. Это пространство имен включает классы, представляющие собой базовые типы данных, используемые всеми приложениями: Object (корень иерархии наследования), Byte, Char, Array, Int32, String и т. д. Многие из этих типов соответствуют простым типам данных, которые используются в языке программирования. При написании кода с применением типов .NET Framework можно использовать соответствующее ключевое слово языка для базового типа данных .NET Framework.
В следующей таблице перечислены базовые типы, предоставляемые в .NET Framework, кратко описывается каждый тип и указывается соответствующий тип в Visual Basic, C#, C++ и JScript.
Категория |
Имя класса |
Описание |
Тип данных в Visual Basic |
Тип данных в C# |
Тип данных в C++ |
Тип данных в JScript |
---|---|---|---|---|---|---|
Целое число |
8-разрядное целое число без знака. |
Byte |
byte |
unsigned char |
Byte |
|
|
8-битовое целое число со знаком. Не является CLS-совместимым. |
SByte |
sbyte |
char – или – signed char |
SByte |
|
|
16-разрядное знаковое целое число. |
Short |
short |
short |
short |
|
|
32-разрядное знаковое целое число. |
Целое число |
int |
int – или – long |
int |
|
|
64-разрядное целое число со знаком. |
Long |
long |
__int64 |
long |
|
|
16-разрядное целое число без знака. Не является CLS-совместимым. |
UShort |
ushort |
unsigned short |
UInt16 |
|
|
32-разрядное целое число без знака. Не является CLS-совместимым. |
UInteger |
uint |
unsigned int – или – unsigned long |
UInt32 |
|
|
64-разрядное целое число без знака. Не является CLS-совместимым. |
ULong |
ulong |
unsigned __int64 |
UInt64 |
|
С плавающей запятой |
Число с плавающей запятой с обычной точностью (32-разрядное). |
Single |
float |
float |
float |
|
|
Число с плавающей запятой с двойной точностью (64-разрядное). |
Double |
double |
double |
double |
|
Logical |
Логическое значение (true или false). |
Boolean |
bool |
bool |
bool |
|
Другой |
Символ Юникода (16-разрядный). |
Char |
char |
wchar_t |
char |
|
|
128-разрядное десятичное значение. |
Десятичное число |
decimal |
Десятичное число |
Decimal |
|
|
Целое число со знаком, размер которого зависит от базовой платформы (32-разрядное значение при 32-разрядной платформе и 64-разрядное значение при 64-разрядной платформе). |
IntPtr; Не является встроенным типом. |
IntPtr; Не является встроенным типом. |
IntPtr; Не является встроенным типом. |
IntPtr; |
|
|
Целое число без знака, размер которого зависит от базовой платформы (32-разрядное значение при 32-разрядной платформе и 64-разрядное значение при 64-разрядной платформе). Не является CLS-совместимым. |
UIntPtr Не является встроенным типом. |
UIntPtr Не является встроенным типом. |
UIntPtr Не является встроенным типом. |
UIntPtr |
|
Объекты классов |
Корень иерархии объектов. |
Объект |
object |
Object* |
Объект |
|
|
Неизменяемая строка символов Юникода фиксированной длины. |
String |
string |
String* |
String |
В дополнение к базовым типам данных пространство имен System содержит более 100 классов — от классов для обработки исключений до классов, которые работают с основными механизмами среды выполнения, такими как домены приложений и сборщик мусора. Пространство имен System также содержит много пространств имен второго уровня.
Дополнительные сведения о пространствах имен см. в разделе Библиотека классов платформы .NET Framework. В справочной документации представлен краткий обзор каждого пространства имен, а также дано формальное описание каждого типа и его членов.