PortableExecutableReference.GetMetadataImpl Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Get metadata representation for the PE file.
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
Returns
Exceptions
If the PE image format is invalid.
The metadata image content can't be read.
The metadata image is stored in a file that can't be found.
Remarks
Called when the Compilation needs to read the reference metadata.
The listed exceptions are caught and converted to compilation diagnostics. Any other exception is considered an unexpected error in the implementation and is not caught.
Metadata objects may cache information decoded from the PE image. Reusing Metadata instances across metadata references will result in better performance.
The calling Compilation doesn't take ownership of the Metadata objects returned by this method. The implementation needs to retrieve the object from a provider that manages their lifetime (such as metadata cache). The Metadata object is kept alive by the Compilation that called Microsoft.CodeAnalysis.PortableExecutableReference.GetMetadataNoCopy and by all compilations created from it via calls to With- factory methods on Compilation, other than WithReferences(MetadataReference[]) overloads. A compilation created using WithReferences(MetadataReference[]) will call to Microsoft.CodeAnalysis.PortableExecutableReference.GetMetadataNoCopy again.