次の方法で共有


MetadataReference.CreateFromStream メソッド

定義

指定したストリーム内のデータから、単一モジュール アセンブリまたはスタンドアロン モジュールへの参照を作成します。 ストリームの内容をメモリに読み取り、返されるとストリームを閉じます。

public static Microsoft.CodeAnalysis.PortableExecutableReference CreateFromStream (System.IO.Stream peStream, Microsoft.CodeAnalysis.MetadataReferenceProperties properties = default, Microsoft.CodeAnalysis.DocumentationProvider documentation = default, string filePath = default);
public static Microsoft.CodeAnalysis.PortableExecutableReference CreateFromStream (System.IO.Stream peStream, Microsoft.CodeAnalysis.MetadataReferenceProperties properties = default, Microsoft.CodeAnalysis.DocumentationProvider? documentation = default, string? filePath = default);
static member CreateFromStream : System.IO.Stream * Microsoft.CodeAnalysis.MetadataReferenceProperties * Microsoft.CodeAnalysis.DocumentationProvider * string -> Microsoft.CodeAnalysis.PortableExecutableReference
Public Shared Function CreateFromStream (peStream As Stream, Optional properties As MetadataReferenceProperties = Nothing, Optional documentation As DocumentationProvider = Nothing, Optional filePath As String = Nothing) As PortableExecutableReference

パラメーター

peStream
Stream

アセンブリ イメージ。

properties
MetadataReferenceProperties

参照プロパティ (extern エイリアス、型埋め込み、 MetadataImageKind)。

documentation
DocumentationProvider

リファレンスにあるシンボルの XML ドキュメントを提供します。

filePath
String

メタデータの場所を表す省略可能なパス。 ファイルはディスク上に存在する必要はありません。 パスはコンパイラに対して不透明です。

戻り値

例外

peStream は読み取りとシークの操作をサポートしません。

peStream が null です。

ストリームの読み取り中にエラーが発生しました。

注釈

パフォーマンスに関する考慮事項:

同じメタデータへの複数の参照を作成する場合は、API をCreateFromStream(Stream, PEStreamOptions)使用CreateFromStream(Stream, PEStreamOptions)することをお勧めします。 オブジェクトを再利用して Metadata 複数の参照を作成すると、これらの参照間でデータを共有できます。

このメソッドは、コンテンツ全体 peStream をネイティブ ヒープに熱心に読み取ります。 生成された参照が到達不能になり、GC によって収集されると、ネイティブ メモリ ブロックが解放されます。 参照のメモリ フットプリントを減らすか、メタデータ オブジェクトGetReference(DocumentationProvider, ImmutableArray<String>, Boolean, String, String)を作成IDisposableし、そのオブジェクトへの参照を取得するために使用CreateFromStream(Stream, PEStreamOptions)する有効期間を決定論的に管理します。

適用対象