csc /t:library test1.cs csc /t:library test2.cs Затем необходимо скомпилировать файл test3.cs, указав в командной строке
csc /r:Asm1=test1.dll /r:Asm2=test2.dll test3.cs Обратите внимание на применение параметра /r, уведомляющего компилятор о том, что ссылка на метаданные находится в соответствующем файле. В данном слу чае псевдоним Asm1 связывается с файлом test1.dll, а псевдоним Asm2 — с файлом test2.dll. В самой программе псевдонимы указываются в приведенных ниже операторах с модификатором extern, которые располагаются в самом начале файла.
extern alias Asm1; extern alias Asm2; А в методе Main псевдонимы используются для разрешения неоднозначности ссылок на класс MyClass. Обратите внимание на следующее применение псевдонима для обращения к классу MyClass.
Asm1::MyNS.MyClass В этой строке кода первым указывается псевдоним, затем оператор разрешения пространства имен, далее имя пространства имен, в котором находится класс с неодно значным именем, и, наконец, имя самого класса, следующее после оператора-точки. Та же самая общая форма пригодна и для других внешних псевдонимов. Ниже приведен результат выполнения данной программы.
Конструирование из файла MyClass1.dll. Конструирование из файла MyClass2.dll. ```
ГЛАВА 21. Пространство имен System
В этой главе речь пойдет о пространстве имен System. Это пространство имен самого верхнего уровня в би блиотеке классов для среды .NET Framework. В нем непосредственно находятся те классы, структуры, интер фейсы, делегаты и перечисления, которые чаще всего при меняются в программах на C# или же считаются неотъем лемой частью среды .NET Framework. Таким образом, про странство имен System составляет ядро рассматриваемой здесь библиотеки классов.
Кроме того, в пространство имен System входит много вложенных пространств имен, поддерживающих отдель ные подсистемы, например System.Net. Некоторые из этих пространств имен рассматриваются далее в этой кни ге. А в этой главе речь пойдет только о членах самого про странства имен System. Члены пространства имен System
Помимо большого количества классов исключений, в пространстве имен содержат
ся приведенные ниже классы.
ActivationContext
Activator
AppDomain
AppDomainManager
AppDomainSetup
Applicationld
Applicationldentity
Array
AssemblyLoadEventArgs
Attribute
AttributeUsageAttribute
BitConverter
Buffer
CharEnumerator
CLSCompliantAttribute
Console
ConsoleCancelEventArgs
ContextBoundObject
ContextStaticAttribute
Convert
DBNull
Delegate
Enum
Environment
EventArgs
Exception
FileStyleUriParser
FlagsAttribute
FtpStyleUriParser
GC
GenericUriParser
GopherStyleUriParser
HttpStyleUriParser
Lazy
Ниже приведены структуры, определенные в пространстве имен System.
Arglterator
ArraySegment