Telegram Group & Telegram Channel
C# Programming Guide
یکی از مواقعی که بهتر است از async void استفاده کنیم. تفاوت Async Void و Async Task در هنگام تعریف یک متد چیست و چه موقع میتوان از هرکدام استفاده کرد. اگر این متد ها داخل try-catch صدا زده شوند عملکرد هر کدام هنگام رخ دادن exception چگونه است؟ پاسخ: توابع…
در حالاتی که شما می خواهید در تابع خودتون ورودی بگیرید و عملیات validation انجام بدید برای مدیریت این نوع بکگراند ها بهتره از روش دیگری استفاده کنید و اون اینه که تابع خودتون رو به صورت معمولی void تعریف کنید و تابع درونی کلاس رو از طریق یک Task.Factory صدا بزنید، در این حالت میتونید قبل از صدا زدن توابع درون Task.Factory یک exception throw کنید و به برنامه نویس خطای اعتبار سنجی برگردونید. ولی اگر توی async void بخواهید exception برای اعتبار سنجی برگردونید نمیتونید و اپلیکیشن شما کرش می کنه.

روش دومی که الان گفتم در BackgroundWorker خود مایکروسافت هم استفاده شده که لینکش رو میذارم میتونید مطالعه کنید.
این نکته رو هم فراموش نکنید با اجرای Task.Run یا Factory خیال خودتون رو راحت نکنید که داخلش Exception هارو هندل می کنه حتما خطا ها رو به روش هایی که وجود داره لاگ کنید و رفعشون کنید تا برنامه تون به باگ نخوره و فرایندش درست اجرا بشه.

https://github.com/dotnet/runwww.tg-me.com/blob/main/src/libraries/System.ComponentModel.EventBasedAsync/src/System/ComponentModel/BackgroundWorker.cs

@CSharpTips



tg-me.com/CsharpTips/320
Create:
Last Update:

در حالاتی که شما می خواهید در تابع خودتون ورودی بگیرید و عملیات validation انجام بدید برای مدیریت این نوع بکگراند ها بهتره از روش دیگری استفاده کنید و اون اینه که تابع خودتون رو به صورت معمولی void تعریف کنید و تابع درونی کلاس رو از طریق یک Task.Factory صدا بزنید، در این حالت میتونید قبل از صدا زدن توابع درون Task.Factory یک exception throw کنید و به برنامه نویس خطای اعتبار سنجی برگردونید. ولی اگر توی async void بخواهید exception برای اعتبار سنجی برگردونید نمیتونید و اپلیکیشن شما کرش می کنه.

روش دومی که الان گفتم در BackgroundWorker خود مایکروسافت هم استفاده شده که لینکش رو میذارم میتونید مطالعه کنید.
این نکته رو هم فراموش نکنید با اجرای Task.Run یا Factory خیال خودتون رو راحت نکنید که داخلش Exception هارو هندل می کنه حتما خطا ها رو به روش هایی که وجود داره لاگ کنید و رفعشون کنید تا برنامه تون به باگ نخوره و فرایندش درست اجرا بشه.

https://github.com/dotnet/runwww.tg-me.com/blob/main/src/libraries/System.ComponentModel.EventBasedAsync/src/System/ComponentModel/BackgroundWorker.cs

@CSharpTips

BY C# Programming Guide




Share with your friend now:
tg-me.com/CsharpTips/320

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

Mr. Durov launched Telegram in late 2013 with his brother, Nikolai, just months before he was pushed out of VK, the Russian social-media platform he founded. Mr. Durov pitched his new app—funded with the proceeds from the VK sale—less as a business than as a way for people to send messages while avoiding government surveillance and censorship.

Tata Power whose core business is to generate, transmit and distribute electricity has made no money to investors in the last one decade. That is a big blunder considering it is one of the largest power generation companies in the country. One of the reasons is the company's huge debt levels which stood at ₹43,559 crore at the end of March 2021 compared to the company’s market capitalisation of ₹44,447 crore.

telegram from sa


Telegram C# Programming Guide
FROM USA