MetadataReaderProvider.FromMetadataStream 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为具有指定大小且从其当前位置开头的流创建提供程序。
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
参数
- options
- MetadataStreamOptions
用于指定如何从流中读取映像分区的选项。
- size
- Int32
流中的元数据 blob 大小。 如果未指定,则假定元数据 blob 横跨到流的结尾。
返回
新的提供程序。
例外
stream
为 null
。
stream
不支持读取和查找操作。
大小为负,或者扩展超出了流的末尾。
从流中读取时出错(仅在指定 PrefetchMetadata 时读取)。
注解
除非 MetadataStreamOptions.LeaveOpen 指定 ,否则在成功进行参数验证后,流的所有权将转移到 MetadataReaderProvider 。 它将由 MetadataReaderProvider释放,并且调用方不得对其进行操作。
除非 MetadataStreamOptions.PrefetchMetadata 指定 ,否则在 构造 MetadataReaderProvider期间不会从流中读取任何数据。 此外,当 处于活动状态且不受干扰时 MetadataReaderProvider ,不得由调用方操作流。
如果 MetadataStreamOptions.PrefetchMetadata为 , MetadataReaderProvider 则 将读取构造期间请求的所有数据。 因此,如果 MetadataStreamOptions.LeaveOpen 还指定 了 ,则调用方将保留流的完全所有权,并保证在构造后不会对其进行 MetadataReaderProvider 操作。