MetadataReaderProvider.FromMetadataStream Metoda

Definicja

Tworzy dostawcę dla strumienia o określonym rozmiarze rozpoczynającym się od jego bieżącej pozycji.

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

Parametry

stream
Stream

Stream Wystąpienie.

options
MetadataStreamOptions

Opcje określające sposób odczytywania sekcji obrazu ze strumienia.

size
Int32

Rozmiar obiektu blob metadanych w strumieniu. Jeśli nie zostanie określony, zakłada się, że obiekt blob metadanych obejmuje koniec strumienia.

Zwraca

MetadataReaderProvider

Nowy dostawca.

Wyjątki

stream to null.

stream nie obsługuje operacji odczytu i wyszukiwania.

Rozmiar jest ujemny lub wykracza poza koniec strumienia.

Błąd podczas odczytywania ze strumienia (tylko wtedy, gdy PrefetchMetadata jest określony).

Uwagi

O ile nie MetadataStreamOptions.LeaveOpen zostanie określona, własność strumienia zostanie przeniesiona do obiektu po pomyślnej MetadataReaderProvider weryfikacji argumentu. Zostanie on usunięty przez obiekt MetadataReaderProvider, a obiekt wywołujący nie może manipulować nim.

O ile nie MetadataStreamOptions.PrefetchMetadata zostanie określony, żadne dane nie są odczytywane ze strumienia podczas konstruowania obiektu MetadataReaderProvider. Ponadto strumień nie może być manipulowany przez obiekt wywołujący, gdy MetadataReaderProvider obiekt jest żywy i niedysponowany.

Jeśli MetadataStreamOptions.PrefetchMetadataparametr będzie MetadataReaderProvider odczytywał wszystkie dane wymagane podczas budowy. W związku z tym, jeśli MetadataStreamOptions.LeaveOpen zostanie również określony, obiekt wywołujący zachowuje pełną własność strumienia i jest pewien, że nie będzie manipulowany przez po budowie MetadataReaderProvider .

Dotyczy