MetadataReaderProvider.FromMetadataStream 方法

定义

为具有指定大小且从其当前位置开头的流创建提供程序。

public static System.Reflection.Metadata.MetadataReaderProvider FromMetadataStream (System.IO.Stream stream, System.Reflection.Metadata.MetadataStreamOptions options = System.Reflection.Metadata.MetadataStreamOptions.Default, int size = 0);
static member FromMetadataStream : System.IO.Stream * System.Reflection.Metadata.MetadataStreamOptions * int -> System.Reflection.Metadata.MetadataReaderProvider
Public Shared Function FromMetadataStream (stream As Stream, Optional options As MetadataStreamOptions = System.Reflection.Metadata.MetadataStreamOptions.Default, Optional size As Integer = 0) As MetadataReaderProvider

参数

stream
Stream

一个 Stream 实例。

options
MetadataStreamOptions

用于指定如何从流中读取映像分区的选项。

size
Int32

流中的元数据 blob 大小。 如果未指定,则假定元数据 blob 横跨到流的结尾。

返回

MetadataReaderProvider

新的提供程序。

例外

streamnull

stream 不支持读取和查找操作。

大小为负,或者扩展超出了流的末尾。

从流中读取时出错(仅在指定 PrefetchMetadata 时读取)。

注解

除非 MetadataStreamOptions.LeaveOpen 指定,否则流所有权将传输到 MetadataReaderProvider 成功参数验证时。 它将由该 MetadataReaderProvider调用方释放,调用方不得对其进行操作。

除非 MetadataStreamOptions.PrefetchMetadata 指定,否则在构造 MetadataReaderProvider过程中不会从流中读取任何数据。 此外,在活动且未公开的情况下 MetadataReaderProvider ,调用方不得操作流。

如果 MetadataStreamOptions.PrefetchMetadata,将 MetadataReaderProvider 读取在构造过程中请求的所有数据。 因此,如果 MetadataStreamOptions.LeaveOpen 还指定,调用方将保留流的完全所有权,并保证不会由施工后操作 MetadataReaderProvider

适用于