Udostępnij za pośrednictwem


MetadataReaderProvider.FromPortablePdbStream Metoda

Definicja

Tworzy dostawcę strumienia określonego rozmiaru rozpoczynającego się od bieżącej pozycji.

public static System.Reflection.Metadata.MetadataReaderProvider FromPortablePdbStream (System.IO.Stream stream, System.Reflection.Metadata.MetadataStreamOptions options = System.Reflection.Metadata.MetadataStreamOptions.Default, int size = 0);
static member FromPortablePdbStream : System.IO.Stream * System.Reflection.Metadata.MetadataStreamOptions * int -> System.Reflection.Metadata.MetadataReaderProvider
Public Shared Function FromPortablePdbStream (stream As Stream, Optional options As MetadataStreamOptions = System.Reflection.Metadata.MetadataStreamOptions.Default, Optional size As Integer = 0) As MetadataReaderProvider

Parametry

stream
Stream

Strumień.

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 Wystąpienie.

Wyjątki

stream to null.

stream nie obsługuje operacji odczytu i wyszukiwania.

Rozmiar jest ujemny lub rozszerza się obok końca strumienia.

Uwagi

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

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

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

Dotyczy