}
}
' Hello world на языке VB .NET
Imports System
Public Module MyApp
Sub Main()
Console.WriteLine("Привет из VB .NET")
End Sub
End Module
// Hello world на языке Managed Extensions for C++
#include "stdafx.h"
using namespace System;
int main(array‹System::String^› ^args) {
Console::WriteLine("Привет из managed C++");
return 0;
}
Заметим, что здесь в любом из языков используется класс Console, определенный в пространстве имен System. Если отбросить незначительные синтаксические вариации, то эти три приложения выглядят очень похожими, как по форме, так и по логике.
Очевидно, вашей главной целью, как разработчика .NET. является получение исчерпывающей информации обо всем разнообразии типов, определенных в рамках (многочисленных) пространств имен .NET. Главным из пространств имен, о которых следует знать, является System. Это пространство имен предлагает базовый набор типов, которые вы, как разработчик .NET. будете использовать снова и снова. Фактически вы не сможете построить ни одного реально работающего C#-приложеиия, не сославшись, как минимум, на пространство имен System. В табл. 3.4 предлагаются краткие описания некоторых (но, конечно же, не всех) пространств имен .NET.
Таблица 1.4.Пространства имен .NET
Пространства имен .NET |
Описание |
System |
В рамках System вы найдете множество полезных типов, связанных с внутренними данными, математическими вычислениями, переменными окружения, генерированием случайных чисел и сбором мусора, а также с обработкой типичных исключительных ситуаций и атрибутов |
System.Collections System.ColIections.Generiс |
Эти пространства имен определяют ряд контейнерных объектов (ArrayList, Queue и т.д.), а также базовых типов и интерфейсов, которые позволяют строить пользовательские коллекции. В .NET 2.0 типы коллекций обладают дополнительными общими возможностями |
System.Data System.Data.Odbc System.Data.OracleClient System.Data.OleDb System.Data.SqlClient |
Эти пространства имен используются для взаимодействия с базами данных на основе ADO.NET |
System.Diagnostics |
Здесь вы найдете множество типов, которые могут использоваться для программной отладки и трассировки исходного кода |
System.Drawing System.Drawing.Drawing2D System.Drawing.Printing |
Здесь вы найдете множество типов для работы с графическими примитивами, такими как растровые изображения, шрифты и пиктограммы, а также для вывода на печать |
System.IO System.IO.Compression System.IO.Ports |
Эти пространства имен включают средства файлового ввода-вывода, буферизации и т.д. В .NET 2.0 пространства имен IO предлагают поддержку сжатия и работы с портами |
System.Net |
Это пространство имен (как и другие родственные пространства имен) содержит типы, связанные с сетевым программированием (запросы/ответы, сокеты, конечные точки соединений и т.д.) |
System.Reflection System.Reflection.Emit |
Эти пространства имен определяют типы, связанные с обнаружением типов в среде выполнения и динамическим созданием типов |
System.Runtime.InteropServices |
Это пространство имен обеспечивает средства взаимодействия типов .NET с "неуправляемым программным кодом" (это, например, DLL на базе C и COM-серверы) |
System.Runtime.Remoting |
Это пространство имен (среди прочих) определяет типы, используемые для построения решений на основе возможностей слоя удаленного доступа .NET |
System.Security |
Безопасность – это неотъемлемый аспект платформы .NET. В пространствах имен, объединенных идеей безопасности, вы найдете множество типов, связанных с разрешением доступа, криптографической защитой и т.д. |
System.Threading |
Это пространство имен определяет типы, используемые при построении многопоточных приложений |
System.Web |
Ряд пространств имен, специально предназначенных для разработки Web-приложений .NET, включая Web-сервисы ASP.NET и XML |
System.Windows.Forms |
Это пространство имен содержит типы, которые упрощают процесс создания традиционных GUI-приложений (приложений с графическим интерфейсом) для настольных систем |
System.Xml |
Связанные с XML пространства имен, содержащие множество типов, используемых для взаимодействия с XML-данными |
Программный доступ к пространствам имен
Не помешает повторить снова, что пространство имен является ничем иным, как подходящим для человека способом логически понять и организовать связанные типы. Снова рассмотрим пространство имен System. Можно считать, что System.Console представляет класс, названный Console и содержащийся в пространстве имен System. Но для среды выполнения .NET это не так. Механизм среды выполнения видит только отдельную единицу, названную System.Console.
Читать дальше