Основы языка C# 2005. Евсеева О.Н - 14 стр.

UptoLike

Составители: 

18
1.3.3. Особенности разработки приложений .NET
Хотя архитектура .NET и гарантирует языковую совместимость между
приложениями и внутри приложений, для реализации этой возможности при
разработке приложений необходимо следовать некоторым правилам. И дело
здесь не в ограниченности возможностей .NET, а в принципиальных
трудностях. Например, как быть, если один язык программирования
поддерживает беззнаковые типы данных (Delphi, C++), а другой (Java) – нет?
Что делать, если один компилятор допускает перегружаемые методы, а другой
нет? Каким должен быть в таких случаях код MSIL?
Как видно, объективные трудности существуют, и для их преодоления в
архитектуру .NET включен ряд спецификаций.
В .NET введено логическое понятие пространства имен, которое служит
идентификации типов в общих библиотеках и приложениях.
Приложения должны использовать общую систему типов (Common Type
System), объединяющую типы данных и операций, присутствующие в
большинстве языков программирования.
При написании исходного кода приложений необходимо
руководствоваться некоторыми правилами, которые объединены под названием
Common Language Specification.
Благодаря тому, что в состав кода приложений .NET включаются
метаданные, имеется возможность добавлять к приложениям информацию об
используемых типах, которая служит для проверки безопасности и
совместимости кода. Это часть концепции управляемого кода .NET.
Рассмотрим перечисленные решения более подробно.
Пространства имён
В .NET применяются пространства имен. Пространство именэто
логическая структура, объединяющая в своем составе другие пространства
имен и типы. Ее основное предназначениеидентификация типов (в .NET под
типом понимаются и классы, и интерфейсы) и предотвращение конфликтов
именования типов. Пространства имен могут быть стандартными или
созданными разработчиком.
Типы именуются только с использованием названий пространств имен.
Например, существует стандартное пространство имен System.IO, которое
объединяет типы, отвечающие за выполнение операций файлового
ввода/вывода. Как видно из представления, пространство имен IO – часть
глобального пространства System. При помощи операторов используемого
языка программирования вы можете добавить к приложению функции того или
иного пространства имен. Концепция в чем-то аналогична модулям Delphi для
Win32.
Если требуется определить новый тип, то это должно быть сделано в
рамках соответствующего пространства имен. К примеру, можно определить