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 Lazy LdapStyleUriParser LoaderOptimizationAttribute LocalDataStoreSlot MarshalByRefObject Math MTAThreadAttribute MulticastDelegate NetPipeStyleUriParser NetTcpStyleUriParser NewsStyleUriParser NonSerializedAttribute Nullable Object ObsoleteAttribute OperatingSystem ParamArrayAttribute Random ResolveEventArgs SerializableAttribute STAThreadAttribute String StringComparer Th rea dStaticAttri bute TimeZone TimeZonelnfo TimeZonelnfo AdjustmentRule Tuple Tuple<...> (различные формы) Type Unhandled ExceptionEventArgs Uri UriBuilder Uri Parser UriTemplate UriTemplateEquivalenceComparer UriTemplateMatch UriTemplateTable UriTypeConverter ValueType Version WeakReference

Ниже приведены структуры, определенные в пространстве имен System. Arglterator ArraySegment Boolean Byte Char ConsoleKeylnfo DateTime DateTimeOffset Decimal Double Guid Int16 Int32 Int64 IntPtr ModuleFlandle Nullable RuntimeArgumentFlandle RuntimeFieldFlandle RuntimeMethodHandle RuntimeTypeHandle Sbyte Single TimeSpan TimeZonelnfo TransitionTime TypedReference Ulnt16 Ulnt32 Ulnt64 UIntPtr Void

Перейти на страницу:

Похожие книги