Поделиться через


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-объекта метаданных достигает конца потока.

Возвращаемое значение

Новый поставщик.

Исключения

stream имеет значение null.

stream не поддерживает операции чтения и поиска.

Размер является отрицательным или превышает длину потока.

Ошибка при чтении из потока (только если указан PrefetchMetadata).

Комментарии

MetadataStreamOptions.LeaveOpen Если не указан параметр , владение потоком передается в после успешной проверки аргументаMetadataReaderProvider. Он будет удален с помощью MetadataReaderProvider, и вызывающий объект не должен управлять им.

MetadataStreamOptions.PrefetchMetadata Если не указан параметр , данные не считываются из потока во время создания MetadataReaderProvider. Кроме того, вызывающий объект не должен манипулировать потоком, пока MetadataReaderProvider объект активен и нерасположен.

Если MetadataStreamOptions.PrefetchMetadataзадано значение , будет MetadataReaderProvider считывать все данные, запрошенные во время построения. Таким образом, если MetadataStreamOptions.LeaveOpen также указано, вызывающий объект сохраняет за собой полную собственность потока и гарантирует, что он не будет управляться MetadataReaderProvider после создания.

Применяется к