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í. (Zvažte místo toho 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.
- 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ů ke čtení.
- callback
- AsyncCallback
Volitelné asynchronní zpětné volání, které se má volat po dokončení čtení.
- state
- Object
Uživatelem zadaný objekt, který odlišuje tento konkrétní asynchronní požadavek na čtení od ostatní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í.
Došlo k pokusu o asynchronní čtení za koncem datového proudu.
Délka vyrovnávací paměti mínus offset
je menší než count
.
Aktuální datový proud nepodporuje operaci čtení.
Poznámky
V rozhraní .NET Framework 4 a starších verzích musíte k implementaci asynchronních operací se soubory použít metody, jako BeginRead jsou a EndRead . Tyto metody jsou stále k dispozici v rozhraní .NET Framework 4.5 pro podporu starší verze kódu; Nové asynchronní metody, jako ReadAsyncjsou , WriteAsynca FlushAsync, však pomáhají snadněji implementovat asynchronní operace se soubory.
EndWrite musí být volána přesně jednou pro každé volání metody BeginRead. Selhání ukončení procesu čtení před zahájením dalšího čtení může způsobit nežádoucí chování, jako je například zablokování.
Poznámka
CanRead Pomocí vlastnosti určete, zda aktuální instance podporuje čtení.
EndRead Musí být volána s tímto IAsyncResult kódem, aby se zjistilo, kolik bajtů bylo přečteno.