Иллюстрированный самоучитель по Architecture .NET

Класс туре (Тип)

Абстрактный класс Type (Тип) в пространстве имен System (Система) определяет типы .NET. Поскольку в .NET нет никаких функций вне классов или глобальных переменных, то получив все типы в сборке, мы получим все метаданные о коде в этой сборке. Type (Тип) представляет все типы, имеющиеся в .NET: классы, структуры, интерфейсы, значения, массивы и перечисления.

Класс Type (Тип) возвращается также методом GetType класса System::Object (Система::Объект) и статическим методом GetType самого класса Type (Тип). Последний метод может использоваться только с типами, которые могут быть разрешены статически.

Одно из свойств класса Type (Тип) – сборка, к которой он принадлежит. Можно получить все типы, содержащиеся в сборке, как только будет определен Type (Тип) одного объекта. Type (Тип) – абстрактный класс, и во время выполнения возвращается экземпляр System::RuntimeType.

В выдаче программы найден каждый тип в сборке, – CustomerListltem, ICustomer, Customer (Клиент) и Customers (Клиенты),– причем распечатаны его метаданные. Чтобы для каждого типа выяснить стандартные атрибуты и тип, производным от которого является класс, нужно воспользоваться свойствами Attributes (Атрибуты) и BaseType.

Методы, связанные с классом Type (Тип), дают возможность получить ассоциированные поля, свойства, интерфейсы, события, и методы. Например, тип Customer (Клиент) не имеет никаких интерфейсов, свойств и событий, но имеет четыре поля, три конструктора и методы, унаследованные от его базового класса BaseType из пространства имен System::Object (Система::Объект):

Можно также загрузить и выполнить сборку с AppDomain, – мы обсудим этот вариант в данной главе позже.

Interfaces: Fields:
Customerld
FirstName
LastName
EmailAddress Properties:
Events:
Constructors:
public.ctor(System.String first, System.String last,
System.String email)
public.ctor()
public.ctor(System.Int32 id) Methods:
public Int32 GetHashCodeO
public Boolean Equals(System.Object obj)
public String ToStringO
public Type GetType()

Перевод такой:

Интерфейсы: Поля:
Customerld
FirstName
LastName
EmailAddress Свойства:
События:
Конструкторы:
public.ctor(System.String first, System.String last,
System.String email)
// электронная почта
public.ctor ()
public.ctor(System.Int32 id) Методы:
public Int32 GetHashCodeO
public Boolean Equals(System.Object obj)
// Равняется
public String ToString()
public Type GetType()

Тип Customers (Клиенты) наследуется от одного интерфейса и содержит один конструктор и четыре своих собственных метода в дополнение к четырем уже унаследованным от его базового класса BaseType из пространства имен System::Object (Система-Объект):

Interfaces:
ICustomer
Fields:
Properties:
Events:
Constructors:
public.ctor()
Methods:
public Void ChangeEmailAddress(System.Int32 id,
System.String emailAddress)
public ArrayList GetCustomer(System.Int32 id)
public Void UnregisterCustomer(System.Int32 id)
public Int32 RegisterCustomer(System.String firstName,
System.String lastName, System.String emailAddress)
public Int32 GetHashCode()
public Boolean Equals(System.Object obj)
public String ToString ()
public Type GetTypeO()
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.