async
পদ্ধতিগুলি সাধারণ পদ্ধতির চেয়ে আলাদা। আপনি async
পদ্ধতি থেকে যাই ফিরে আসুন তা একটি মোড়ানো হয় Task
।
আপনি যদি কোনও মান (অকার্যকর) ফেরত না দেন তবে এটি মুড়ে ফেলা হবে Task
, আপনি যদি ফিরে যান তবে int
এটি মোড়ানো হবে Task<int>
এবং এ জাতীয় কিছু।
আপনার অ্যাসিঙ্ক পদ্ধতিটি যদি ফেরতের প্রয়োজন হয় তবে int
আপনি পদ্ধতির রিটার্নের ধরণটি চিহ্নিত করুন Task<int>
এবং আপনি সরল অবস্থায় ফিরে আসবেন int
না Task<int>
। সংকলকটি int
আপনার Task<int>
জন্য রূপান্তর করবে ।
private async Task<int> MethodName()
{
await SomethingAsync();
return 42;//Note we return int not Task<int> and that compiles
}
একইভাবে, আপনি যখন ফিরে আসবেন তখন Task<object>
আপনার পদ্ধতির রিটার্ন টাইপ হওয়া উচিতTask<Task<object>>
public async Task<Task<object>> MethodName()
{
return Task.FromResult<object>(null);//This will compile
}
যেহেতু আপনার পদ্ধতিটি ফিরছে Task
, সুতরাং এটির কোনও মান ফেরানো উচিত নয়। অন্যথায় এটি সংকলন করবে না।
public async Task MethodName()
{
return;//This should work but return is redundant and also method is useless.
}
মনে রাখবেন যে await
বিবৃতি ব্যতীত অ্যাসিঙ্ক পদ্ধতিটি নয় async
।