6

async getおよびsetメソッドを使用してプロパティを作成することは可能ですか?

はいの場合、どのように?いいえの場合、非同期メソッドを適切
に呼び出すにはどうすればよいですか?getset

4

2 に答える 2

9

いいえ。C#5仕様のセクション10.15から:

async修飾子を使用したメソッド(§10.6)または無名関数(§7.15)は、非同期関数と呼ばれます。一般に、非同期という用語は、非同期修飾子を持つあらゆる種類の関数を表すために使用されます。

asyncしたがって、修飾子を使用できるのは、メソッド、ラムダ式、無名メソッドのみです。

個人的には、とにかくそのようなプロパティを持っているのは少し奇妙だと思います。特に、プロパティはではTask<T>なく返されなければならなかったからですT。プロパティは通常、かなり軽量であると「感じる」必要があります。これは、非同期には実際には適合しません。

于 2012-09-21T16:41:01.773 に答える
4

いいえ。プロパティ(および)のように見えるメソッドを作成できますが、それ自体はプロパティではありません。async Task<T> getFoo()async Task setFoo(T item)

于 2012-09-21T16:39:29.900 に答える