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 。