Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Руководство_по_C#.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
10.01 Mб
Скачать

Пространства имен

Пространства имен (namespace) — это способ, благодаря которому .NET избегает конфликтов имен между классами. Они предназначены для того, чтобы исключить ситуации, когда вы определяете класс, представляющий заказчика, называете его Customer, а после этого кто-то другой делает то же самое (подобный сценарий достаточно распространен).

Пространство имен — это не более чем группа типов данных, но дающая тот эффект, что имена всех типов данных в пределах пространства имен автоматически снабжаются префиксом - названием пространства имен. Пространства имен можно вкладывать друг в друга. Например, большинство базовых классов .NET общего назначения находятся в пространстве имен System. Базовый класс Array относится к этому пространству, поэтому его полное имя — System.Array.

Платформа .NET требует, чтобы все имена были объявлены в пределах пространства имен; например, вы можете поместить свой класс MyClass в пространство имен MyCompany. Тогда полное имя этого класса будет выглядеть как MyCompany.MyClass.

Запомните, что если пространство имен не указано явно, тип будет добавлен к безымянному глобальному пространству имен.

В большинстве ситуаций Microsoft рекомендует применять хотя бы два вложенных пространства имен: первое — наименование вашей компании, а второе — название технологии или пакета программного обеспечения, к которому относится класс, чтобы это выглядело примерно так: MyCompany.SomeNamespace.MyClass. В большинстве случаев такой подход защитит классы вашего приложения от возможных конфликтов с именами классов, написанных разработчиками из других компаний.

В следующей таблице приведен краткий список некоторых (но, конечно же, не всех) предлагаемых в .NET пространств имен, которые были поделены на группы на основе функциональности:

Ключевые пространства имен .NET Framework

Пространство имен в .NET

Описание

System

Внутри пространства имен System содержится множество полезных типов, позволяющих иметь дело с внутренними данными, математическими вычислениями, генерированием случайных чисел, переменными среды и сборкой мусора, а также ряд наиболее часто применяемых исключений и атрибутов

System.Collections System.Collections.Generic

В этих пространствах имен содержится ряд контейнерных типов, а также несколько базовых типов и интерфейсов, которые позволяют создавать специальные коллекции

System.Data

System.Data.Common

System.Data.EntityClient

System.Data.SqlClient

Эти пространства имен применяются для взаимодействия с базами данных с помощью ADO.NET

System.IO

System.IO.Compression

System.IO.Ports

В этих пространствах содержится много типов, предназначенных для работы с операциями файлового ввода-вывода, сжатия данных и манипулирования портами

System.Reflection

System.Reflection.Emit

В этих пространствах имен содержатся типы, которые поддерживают обнаружение типов во время выполнения, а также динамическое создание типов

System.Runtime.InteropServices

В этом пространстве имен содержатся средства, с помощью которых можно позволить типам .NET взаимодействовать с "неуправляемым кодом" (например, DLL-библиотеками на базе С и серверами СОМ) и наоборот

System.Drawing

System.Windows.Forms

В этих пространствах имен содержатся типы, применяемые для построения настольных приложений с использованием исходного набора графических инструментов .NET (Windows Forms)

System.Windows

System.Windows.Controls

System.Windows.Shapes

Пространство System.Windows является корневым среди этих нескольких пространств имен, которые представляют собой набор графических инструментов Windows Presentation Foundation (WPF)

System.Linq

System.Xml.Linq

System.Data.DataSetExtensions

В этих пространствах имен содержатся типы, применяемые при выполнении программирования с использованием API-интерфейса LINQ

System.Web

Это пространство имен является одним из многих, которые позволяют создавать веб-приложения ASP.NET

System.ServiceModel

Это пространство имен является одним из многих, которые позволяется применять для создания распределенных приложений с помощью API-интерфейса Windows Communication Foundation (WCF)

System.Workflow.Runtime System.Workflow.Activities

Эти два пространства имен являются главными представителями многочисленных пространств имен, в которых содержатся типы, применяемые для построения поддерживающих рабочие потоки приложений с помощью API-интерфейса Windows Workflow Foundation (WWF)

System.Threading

System.Threading.Tasks

В этом пространстве имен содержатся многочисленные типы для построения многопоточных приложений, способных распределять рабочую нагрузку среди нескольких ЦП.

System.Security

Безопасность является неотъемлемым свойством мира .NET. В относящихся к безопасности пространствах имен содержится множество типов, которые позволяют иметь дело с разрешениями, криптографической защитой и т.д

System.Xml

В этом ориентированном на XML пространстве имен содержатся многочисленные типы, которые можно применять для взаимодействия с XML-данными