共用方式為


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- Factory 方法呼叫 所建立的所有編譯,而不是 WithReferences(MetadataReference[]) 多載。 使用 WithReferences(MetadataReference[]) 建立的編譯會再次呼叫 Microsoft.CodeAnalysis.PortableExecutableReference.GetMetadataNoCopy

適用於