PortableExecutableReference.GetMetadataImpl 方法     
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取 PE 文件的元数据表示形式。
protected:
 abstract Microsoft::CodeAnalysis::Metadata ^ GetMetadataImpl();protected abstract Microsoft.CodeAnalysis.Metadata GetMetadataImpl();abstract member GetMetadataImpl : unit -> Microsoft.CodeAnalysis.MetadataProtected 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 。