चलो कहते हैं कि मैं एक विधि है कि एक और async विधि तुरंत कॉल या इसी तरह करते हैं:क्या पास-थ्रू एसिंक विधि वास्तव में प्रतीक्षा/async पैटर्न की आवश्यकता है?
//Main method
public async Task<int> Foo1(int x)
{
var result = await DoingSomethingAsync(x);
return DoSomethingElse(result);
}
//other method
public async Task<int> Foo2(Double double)
{
return await Foo1(Convert.ToInt32(double));
}
कोई विशेष कारण है कि Foo2
जरूरतों/होना चाहिए है async/का इंतजार है, बस बुला लिए विरोध के रूप में:
//other method
public Task<int> Foo3(Double double)
{
return Foo1(Convert.ToInt32(double));
}
एक उपभोक्ता में, यह अभी भी प्रतीक्षा कर रहे थे जाएगा, likeso, की परवाह किए बिना:
int x = await Foo1(1);
int x = await Foo2(1D);
int x = await Foo3(1D);
सभी उन बयानों होगा संकलन। क्या संकलक दो अलग-अलग तरीकों से अलग आईएल उत्पन्न करेगा?