Merhaba,
Asenkron yapılarını örnek vererek ele alalım.
Öcellikle Task sınıfın yapısını bilmemiz gerekiyor.
Şöyle bir açıklama yapalım:
-
async; içerisinde asenkron işlem yapılacak metodu belirtir. Benzer ifadeyle, içerisinde asenkron işlem yapacağımız metodu async keywordü ile işaretlemeliyiz.
-
Yukarıdaki örnekte gördüğünüz gibi olaylarda(event) dahil olmak üzere içerisinde asenkron işlem yapılacak tüm metodlar async ile işaretlenmek zorundadır.
-
asnyc ile işaretlenmiş bir metodda asenkron çalışacak komutlar await ile işaretlenir.
-
async ile işaretlenmiş metodun geri dönüş tipi; void, Task veyahut Task<T> geri dönüş tiplerinde olmalıdır.
-
await; sadece async ile işaretlenmiş metodlarda kullanılabilir.
-
async ile işaretlenmiş bir metod birden fazla await kullanabilir. daha fazla bilgi için tıklayınız
Aşağıdaki örnekte resimleri belli bir klasöre kaydetme metodumuz bulunmaktadır geriye herhangi bir değer döndermiyor ve bu metod Asenkron olarak çalışıyor.
Bu metodu şöyle kullanabiliriz;
Dikkat edilmesi gerek await ve async yapılarını mutlaka kullanılması gerekiyor.
Tabi bu metodlar geriye değerde dödürebiliyorlar ve yapı yine aynı şekilde kullanılıyor.