Bagikan melalui


BufferedStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) Metode

Definisi

Memulai operasi baca asinkron. (Pertimbangkan untuk menggunakan ReadAsync(Byte[], Int32, Int32, CancellationToken) sebagai gantinya.)

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

Parameter

buffer
Byte[]

Buffer untuk membaca data.

offset
Int32

Offset byte untuk buffer mulai menulis data yang dibaca dari aliran.

count
Int32

Jumlah maksimum byte yang akan dibaca.

callback
AsyncCallback

Panggilan balik asinkron opsional, untuk dipanggil saat pembacaan selesai.

state
Object

Objek yang disediakan pengguna yang membedakan permintaan baca asinkron khusus ini dari permintaan lain.

Mengembalikan

Objek yang mewakili pembacaan asinkron, yang masih bisa tertunda.

Pengecualian

bufferadalah null.

offset atau count negatif.

Mencoba pembacaan asinkron melewati akhir aliran.

Panjang buffer minus offset kurang dari count.

Aliran saat ini tidak mendukung operasi baca.

Keterangan

Dalam .NET Framework 4 dan versi yang lebih lama, Anda harus menggunakan metode seperti BeginRead dan EndRead untuk menerapkan operasi file asinkron. Metode ini masih tersedia di .NET Framework 4.5 untuk mendukung kode warisan; namun, metode asinkron baru, seperti ReadAsync, WriteAsync, dan FlushAsync, membantu Anda menerapkan operasi file asinkron dengan lebih mudah.

EndWrite harus dipanggil tepat sekali untuk setiap panggilan ke BeginRead. Gagal mengakhiri proses baca sebelum memulai bacaan lain dapat menyebabkan perilaku yang tidak diinginkan seperti kebuntuan.

Catatan

CanRead Gunakan properti untuk menentukan apakah instans saat ini mendukung pembacaan.

EndRead harus dipanggil dengan ini IAsyncResult untuk mengetahui berapa banyak byte yang dibaca.

Berlaku untuk