다음을 통해 공유


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 읽어야 할 때 호출합니다.

나열된 예외가 catch되어 컴파일 진단으로 변환됩니다. 다른 예외는 구현에서 예기치 않은 오류로 간주되며 catch되지 않습니다.

Metadata 개체는 PE 이미지에서 디코딩된 정보를 캐시할 수 있습니다. 메타데이터 참조에서 인스턴스를 Metadata 다시 사용하면 성능이 향상됩니다.

호출 Compilation 은 이 메서드에서 반환된 개체의 소유권을 Metadata 차지하지 않습니다. 구현은 수명을 관리하는 공급자(예: 메타데이터 캐시)에서 개체를 검색해야 합니다. 개체는 Metadata 호출 Microsoft.CodeAnalysis.PortableExecutableReference.GetMetadataNoCopy 된 개체와 오버로드가 아닌 WithReferences(MetadataReference[]) With-Factory 메서드 호출을 통해 생성된 모든 컴파일에 Compilation의해 Compilation 유지됩니다. 사용하여 WithReferences(MetadataReference[]) 만든 컴파일은 다시 호출 Microsoft.CodeAnalysis.PortableExecutableReference.GetMetadataNoCopy 됩니다.

적용 대상