BufferedStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rozpoczyna operację odczytu asynchronicznego. (Rozważ użycie ReadAsync(Byte[], Int32, Int32, CancellationToken) zamiast tego).
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object state);
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object? state);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- buffer
- Byte[]
Bufor do odczytu danych.
- offset
- Int32
Przesunięcie bajtu, w buffer którym można rozpocząć zapisywanie danych odczytanych ze strumienia.
- count
- Int32
Maksymalna liczba bajtów do odczytania.
- callback
- AsyncCallback
Opcjonalne wywołanie asynchroniczne, które ma być wywoływane po zakończeniu odczytu.
- state
- Object
Obiekt dostarczony przez użytkownika, który rozróżnia to konkretne asynchroniczne żądanie odczytu z innych żądań.
Zwraca
Obiekt reprezentujący odczyt asynchroniczny, który nadal może być oczekujący.
Wyjątki
Parametr buffer ma wartość null.
offset lub count jest ujemny.
Podjęto próbę asynchronicznego odczytu obok końca strumienia.
Długość buforu minus offset jest mniejsza niż count.
Bieżący strumień nie obsługuje operacji odczytu.
Uwagi
W programie .NET Framework 4 i starszych wersjach należy używać metod takich jak BeginRead i EndRead do implementowania asynchronicznych operacji na plikach. Te metody są nadal dostępne w programie .NET Framework 4.5 do obsługi starszego kodu; jednak nowe metody asynchroniczne, takie jak ReadAsync, WriteAsynci FlushAsync, ułatwiają implementowanie asynchronicznych operacji na plikach.
EndWrite musi być wywoływana dokładnie raz dla każdego wywołania metody BeginRead. Nie można zakończyć procesu odczytu przed rozpoczęciem innego odczytu może spowodować niepożądane zachowanie, takie jak zakleszczenie.
Uwaga / Notatka
CanRead Użyj właściwości , aby określić, czy bieżące wystąpienie obsługuje odczyt.
EndRead Aby dowiedzieć się, ile bajtów zostało odczytanych, należy wywołać za pomocą polecenia IAsyncResult .