AsyncOperation.UserSuppliedState Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur objek yang digunakan untuk mengidentifikasi operasi asinkron secara unik.
public:
property System::Object ^ UserSuppliedState { System::Object ^ get(); };
public object UserSuppliedState { get; }
public object? UserSuppliedState { get; }
member this.UserSuppliedState : obj
Public ReadOnly Property UserSuppliedState As Object
Nilai Properti
Objek status diteruskan ke pemanggilan metode asinkron.
Contoh
Contoh kode berikut menunjukkan penggunaan UserSuppliedState untuk melacak masa pakai operasi asinkron. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk System.ComponentModel.AsyncOperationManager kelas .
// This method cancels a pending asynchronous operation.
public void CancelAsync(object taskId)
{
AsyncOperation asyncOp = userStateToLifetime[taskId] as AsyncOperation;
if (asyncOp != null)
{
lock (userStateToLifetime.SyncRoot)
{
userStateToLifetime.Remove(taskId);
}
}
}
' This method cancels a pending asynchronous operation.
Public Sub CancelAsync(ByVal taskId As Object)
Dim obj As Object = userStateToLifetime(taskId)
If (obj IsNot Nothing) Then
SyncLock userStateToLifetime.SyncRoot
userStateToLifetime.Remove(taskId)
End SyncLock
End If
End Sub
Keterangan
Jika kelas Anda mendukung beberapa metode asinkron atau beberapa pemanggilan metode asinkron tunggal, klien akan memerlukan cara untuk menentukan tugas asinkron mana yang meningkatkan peristiwa. Metode Anda MethodNameAsync
harus mengambil parameter jenis Object yang akan bertindak sebagai ID tugas. Anda akan menggunakan ID tugas ini ketika Anda memanggil AsyncOperationManager.CreateOperationmetode , dan ini akan mengaitkan ID tugas klien dengan pemanggilan tertentu dari operasi asinkron Anda. ID tugas ini tersedia untuk implementasi Anda melalui UserSuppliedState properti .
Perhatian
Kode klien harus berhati-hati untuk memberikan nilai unik untuk UserSuppliedState properti . ID tugas yang tidak unik dapat menyebabkan implementasi Anda melaporkan kemajuan dan peristiwa lain dengan tidak benar. Kode Anda harus memeriksa ID tugas yang tidak unik dan menaikkan ArgumentException jika terdeteksi.