BufferedStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zahájí asynchronní operaci čtení. (Místo toho zvažte použití ReadAsync(Byte[], Int32, Int32, CancellationToken) .)
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[]
Vyrovnávací paměť pro čtení dat do.
- offset
- Int32
Posun bajtů, při buffer kterém se mají začít zapisovat data načtená z datového proudu.
- count
- Int32
Maximální počet bajtů, které se mají přečíst.
- callback
- AsyncCallback
Volitelné asynchronní zpětné volání, které se má volat při dokončení čtení.
- state
- Object
Objekt poskytovaný uživatelem, který rozlišuje tento konkrétní asynchronní požadavek na čtení od jiných požadavků.
Návraty
Objekt, který představuje asynchronní čtení, které může být stále čeká na vyřízení.
Výjimky
buffer je null.
offset nebo count je negativní.
Pokusili jste se o asynchronní čtení za konec datového proudu.
Délka vyrovnávací paměti je menší offset než count.
Aktuální datový proud nepodporuje operaci čtení.
Poznámky
V rozhraní .NET Framework 4 a starších verzích musíte použít metody, jako BeginRead je a EndRead implementovat asynchronní operace se soubory. Tyto metody jsou stále k dispozici v rozhraní .NET Framework 4.5 pro podporu staršího kódu; Nové asynchronní metody, jako ReadAsyncje například , WriteAsynca FlushAsync, však pomáhají implementovat asynchronní operace se soubory snadněji.
EndWrite musí být volána přesně jednou pro každé volání BeginRead. Selhání ukončení procesu čtení před zahájením jiného čtení může způsobit nežádoucí chování, jako je zablokování.
Poznámka:
CanRead Pomocí vlastnosti určete, zda aktuální instance podporuje čtení.
EndRead musí být volána tímto IAsyncResult způsobem, aby bylo možné zjistit, kolik bajtů bylo přečteno.