PortableExecutableReference.GetMetadataImpl 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得 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 。