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।