Поделиться через


PortableExecutableReference.GetMetadataImpl Метод

Определение

Получение представления метаданных для PE-файла.

protected:
 abstract Microsoft::CodeAnalysis::Metadata ^ GetMetadataImpl();
protected abstract Microsoft.CodeAnalysis.Metadata GetMetadataImpl ();
abstract member GetMetadataImpl : unit -> Microsoft.CodeAnalysis.Metadata
Protected MustOverride Function GetMetadataImpl () As Metadata

Возвращаемое значение

Исключения

Если недопустимый формат изображения PE.

Содержимое изображения метаданных не может быть прочитано.

Изображение метаданных хранится в файле, который не удается найти.

Комментарии

Вызывается, Compilation когда необходимо считывать метаданные ссылки.

Перечисленные исключения перехватываются и преобразуются в диагностику компиляции. Любое другое исключение считается непредвиденной ошибкой в реализации и не перехватится.

Metadata объекты могут кэшировать информацию, декодированную на изображении PE. Повторное Metadata использованием экземпляров в ссылках на метаданные приведет к повышению производительности.

Compilation Вызов не является владельцем объектов, Metadata возвращаемых этим методом. Реализация должна получить объект от поставщика, который управляет временем существования (например, кэш метаданных). Объект Metadata сохраняется в живых с помощью Compilation вызываемого и Microsoft.CodeAnalysis.PortableExecutableReference.GetMetadataNoCopy всех компиляций, созданных из него с помощью вызовов методов Compilationфабрики With, кроме WithReferences(MetadataReference[]) перегрузки. Компиляция, созданная с помощью WithReferences(MetadataReference[]) , будет вызываться Microsoft.CodeAnalysis.PortableExecutableReference.GetMetadataNoCopy снова.

Применяется к