Compartilhar via


PortableExecutableReference.GetMetadataImpl Método

Definição

Obter representação de metadados para o arquivo 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

Retornos

Exceções

Se o formato de imagem PE for inválido.

O conteúdo da imagem de metadados não pode ser lido.

A imagem de metadados é armazenada em um arquivo que não pode ser encontrado.

Comentários

Chamado quando é Compilation necessário ler os metadados de referência.

As exceções listadas são capturadas e convertidas em diagnóstico de compilação. Qualquer outra exceção é considerada um erro inesperado na implementação e não é capturada.

Metadata objetos podem armazenar em cache informações decodificadas da imagem PE. Reutilização de Metadata instâncias entre referências de metadados resultará em melhor desempenho.

A chamada Compilation não assume a Metadata propriedade dos objetos retornados por esse método. A implementação precisa recuperar o objeto de um provedor que gerencia seu tempo de vida (como o cache de metadados). O Metadata objeto é mantido vivo pelo Compilation chamado Microsoft.CodeAnalysis.PortableExecutableReference.GetMetadataNoCopy e por todas as compilações criadas a partir dele por meio de chamadas para métodos With-factory ativados Compilation, além de WithReferences(MetadataReference[]) sobrecargas. Uma compilação criada usando WithReferences(MetadataReference[]) chamará novamente Microsoft.CodeAnalysis.PortableExecutableReference.GetMetadataNoCopy .

Aplica-se a