Пространства имён и сборки

Пространства имён используют для логической группировки родственных типов, чтобы разработчику было проще найти нужный тип. Например в пространстве имён System.Text описаны типы для обработки строк, в System.IO типы для операций ввода и вывода.

Пространства имён можно объявлять как через директиву using:

using System.IO;
using System.Text

или писать полное имя с префиксом:

System.IO.FileStream fs = new System.IO.FileStream(...);

System.Text.StringBuilder sb = new System.Text.StringBuilder();

! CLR ничего не знает о пространстве имён. При обращении к какому-либо типу среде CLR нужно представить полное имя типа и сборку, содержащую описание типа, чтобы потом во время выполнения загрузить эту сборку и найти в ней нужны тип, чтобы далее им оперировать.

Связь между сборками и пространством имён

Пространство имен и сборка (файл, в котором реализован тип) не обязательно связаны друг с другом. В частности, различные типы, принадлежащие одному пространству имен, могут быть реализованы в разных сборках. Например, тип System.IO.FileStream реализован в сборке MSCorLib dll, а тип System. IO.FileSystemWatcher — в сборке System dll. На самом деле, сборка System IO dll в .NET Framework даже не поставляется. Одна сборка может содержать типы из разных пространств имен. Например, типы System.Int32 и System.Text.StringBuilder находятся в сборке MSCorLib dll.

results matching ""

    No results matching ""