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通过CompilationMicrosoft.CodeAnalysis.PortableExecutableReference.GetMetadataNoCopy调用 With-factory 方法Compilation(而不是WithReferences(MetadataReference[])重载)创建的所有编译都保持活动状态。 使用它 WithReferences(MetadataReference[]) 创建的编译将再次调用 Microsoft.CodeAnalysis.PortableExecutableReference.GetMetadataNoCopy

适用于