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、呼び出Microsoft.CodeAnalysis.PortableExecutableReference.GetMetadataNoCopyされたオブジェクトと、オーバーロード以外WithReferences(MetadataReference[])の With-factory メソッドCompilationの呼び出しを介して作成されたすべてのコンパイルによってCompilation保持されます。 使用して WithReferences(MetadataReference[]) 作成されたコンパイルは、再度呼び出 Microsoft.CodeAnalysis.PortableExecutableReference.GetMetadataNoCopy されます。

適用対象