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 横跨到流的结尾。

返回

新的提供程序。

例外

streamnull

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

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

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

注解

除非 MetadataStreamOptions.LeaveOpen 指定 ,否则在成功进行参数验证后,流的所有权将转移到 MetadataReaderProvider 。 它将由 MetadataReaderProvider释放,并且调用方不得对其进行操作。

除非 MetadataStreamOptions.PrefetchMetadata 指定 ,否则在 构造 MetadataReaderProvider期间不会从流中读取任何数据。 此外,当 处于活动状态且不受干扰时 MetadataReaderProvider ,不得由调用方操作流。

如果 MetadataStreamOptions.PrefetchMetadata为 , MetadataReaderProvider 则 将读取构造期间请求的所有数据。 因此,如果 MetadataStreamOptions.LeaveOpen 还指定 了 ,则调用方将保留流的完全所有权,并保证在构造后不会对其进行 MetadataReaderProvider 操作。

适用于