Метаданные типов

Метаданные типов

Возможность полного описания типов (классов, интерфейсов, структур, перечней и делегатов) с помощью метаданных является главной особенностью платформы .NET. Многие .NET-технологии, такие как сериализация объектов, удаленное взаимодействие .NET и Web-сервисы XML, требуют, чтобы среда выполнения имела возможность выяснить форматы используемых типов. Возможности межъязыкового взаимодействия, поддержка компилятора и возможности IntelliSense среды разработки тоже зависят от конкретного описания типов.

Важность метаданных очевидна и, возможно, именно поэтому они не являются новой идеей, предложенной в рамках .NET Framework. Технологии Java, CORBA и COM уже использовали аналогичные понятия. Например, для описания типов, содержащихся в серверах COM, используются библиотеки COM-типов (по сути, они представляют собой просто скомпилированный IDL-код). Как и COM, библиотеки программного кода .NET также поддерживают метаданные типов. Конечно, метаданные .NET синтаксически совершенно не похожи на IDL (Interface Definition Language – язык описания интерфейсов, используется в COM-технологиях для спецификации интерфейсов объектов COM). Напомним, что просматривать метаданные типов компоновочного блока позволяет утилита ildasm.exe (см. главу 1), Если вы откроете с помощью ildasm.exe любой компоновочный блок *.dll или *.exe, созданный вами в процессе изучения материала этой книги (например, CarLibrary.dll), и нажмете комбинацию клавиш ‹Ctrl+M›, то увидите соответствующие метаданные (рис. 12.1).

Рис. 12.1. Просмотр метаданных компоновочного блока

Как видите, ildasm.exe отображает метаданные .NET-типа очень подробно (двоичный формат оказывается гораздо более компактным). Если бы здесь потребовалось привести описание метаданных компоновочного блока CarLibrary.dll целиком, оно бы заняло несколько страниц. Это было бы лишней тратой вашего времени (и бумаги тоже), так что давайте рассмотрим метаданные только ключевых типов из компоновочного блока CarLibrary.dll.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

2.3.9 Эквивалентность типов

Из книги C++ автора Хилл Мюррей

2.3.9 Эквивалентность типов Два структурных типа являются различными даже когда они имеют одни и те же члены. Например:struct s1 (* int a; *); struct s2 (* int a; *);есть два разных типа, поэтомуs1 x; s2 y = x; // ошибка: несоответствие типовСтруктурные типы отличны также от основных типов, поэтомуs1 x;


8.7 Имена Типов

Из книги Справочное руководство по C++ автора Страустрап Бьярн

8.7 Имена Типов Иногда (для неявного задания преобразования типов и в качестве параметра sizeof или new) нужно использовать имя тпа данных. Это выполняется при помощи «имени типа» которое по сути является описанием для объекта этого типа, в котором опущено имя объекта.имя_типа:


Объявление типов

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю


R.3.6.3 Имена типов

Из книги MySQL: руководство профессионала автора Паутов Алексей В

R.3.6.3 Имена типов Основные и производные типы можно поименовать с помощью механизма typedef (§R.7.1.3), а семейство типов и функций можно задать и поименовать с помощью механизма шаблона типов


R.8.1 Имена типов

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир

R.8.1 Имена типов Имя типа необходимо указывать при задании операции явного преобразования типа или в качестве параметра в операциях sizeof или new. Для этого служит конструкция имя-типа, которая синтаксически эквивалентна описанию объекта или функции этого типа, в котором


R.14.3 Эквивалентность типов

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

R.14.3 Эквивалентность типов Две конструкции шаблонное-имя-класса обозначают один и тот же класс, если в них совпадают имена шаблонов типа и значения указанных параметров. Например, в следующих описаниях x и y одного типа, который отличен от типа z:template‹class E, int size› class


Доступность типов

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Доступность типов Типы (классы, интерфейсы, структуры, перечни и делегаты) также могут использовать модификаторы доступности, но только public или internal. Когда вы создаете общедоступный тип (public), то гарантируете, что он будет доступным для других типов как в текущем


Программный код CIL, метаданные типа и манифест компоновочного блока

Из книги Как раскрутить и разрекламировать Web-сайт в сети Интернет автора Загуменов Александр Петрович

Программный код CIL, метаданные типа и манифест компоновочного блока В своей базе компоновочный блок содержит программный код CIL, который, как вы помните, является промежуточным языком, не зависящим от платформы и процессора. В среде выполнения внутренний CIL-код


8.3. Метаданные события

Из книги Цифровой журнал «Компьютерра» № 181 автора Журнал «Компьютерра»

8.3. Метаданные события Информация относительно событий может быть получена следующим образом:Запрос таблицы EVENTS базы данных INFORMATION_SCHEMAИспользование инструкции SHOW EVENTS.Использование инструкции SHOW CREATE EVENT.Запись событий, выполненных на сервере, может читаться из файла


Метаданные и тип Web-страницы

Из книги Операционная система UNIX автора Робачевский Андрей М.

Метаданные и тип Web-страницы Вернемся к сведениям о параметрах Web-страницы, которые находятся в секции ее заголовка. Что это за параметры? И что они задают?Сначала введем еще пару терминов. Параметры Web-страницы, не отображаемые на экране и предназначенные для


Метаданные и тип Web-страницы

Из книги автора

Метаданные и тип Web-страницы Вернемся к сведениям о параметрах Web-страницы, которые находятся в секции ее заголовка. Что это за параметры? И что они задают?Сначала введем еще пару терминов. Параметры Web-страницы, не отображаемые на экране и предназначенные для


Метаданные

Из книги автора

Метаданные Все вместе объекты, определенные в базе данных, называются метаданными или, более традиционно, ее схемой. Процесс создания и модификации метаданных называется определением данных. Термин "определение данных" также часто применяется к описанию одного объекта


Метаданные

Из книги автора

Метаданные Метаданными (от греч. met6 – после, за; между, среди) называют информацию о документе, служащую дополнением к его содержимому.Язык гипертекстовой разметки HTML позволяет авторам указывать подобные сведения множеством способов. С этой целью используют метатэги –


Полцарства за метаданные: почему спецслужбы собирают только метаинформацию — и что это вообще такое? Евгений Золотов

Из книги автора

Полцарства за метаданные: почему спецслужбы собирают только метаинформацию — и что это вообще такое? Евгений Золотов Опубликовано 08 июля 2013 Когда бывший директор АНБ и ЦРУ Майкл Гайден советовал европейцам поинтересоваться, чем занимаются их


Метаданные файла

Из книги автора

Метаданные файла Как уже говорилось, каждый файл помимо собственно данных содержит метаданные, описывающие его характеристики, например, владельцев, права доступа, тип и размер файла, а также содержащие указатели на фактическое расположение данных файла. Метаданные