[解決済み] 非同期await return タスク
2022-04-26 18:11:54
質問
どなたか、シンクロナス・メソッドとはどういう意味か説明してください。もし私がこのメソッドを
async
を実行すると、VSから文句を言われます。
これは動作します。
public Task MethodName()
{
return Task.FromResult<object>(null);
}
これはうまくいきません。
public async Task MethodName()
{
return Task.FromResult<object>(null);
}
ということで、基本的には具体的にどういうことなのか、教えていただきたいのですが。
Task.FromResult<object>(null);
どのように解決するのですか?
async
メソッドは、通常のメソッドとは異なります。から返すものは何でも
async
メソッドは
Task
.
値を返さない場合(void)は、ラップされます。
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
.
関連
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み] forEachループでasync/awaitを使用する
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] async」と「await」の使い方とタイミング
-
[解決済み] 非同期Task<T>メソッドを同期的に実行するにはどうしたらいいですか?
-
[解決済み] async/await関数を並列に呼び出す
-
[解決済み] async/await - タスクとvoidをいつ返すか?
-
[解決済み] 私のインターフェースがTaskを返さなければならない場合、操作不要の実装を持つための最良の方法は何ですか?
-
[解決済み】非同期プログラミングとマルチスレッドの違いは何ですか?
-
[解決済み】非同期処理の待ち時間、Wait()でプログラムがフリーズする原因はここにある
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
[解決済み】GDI+、JPEG画像をMemoryStreamに変換する際にジェネリックエラーが発生しました。
-
[解決済み】コンパイルエラー「未割り当てのローカル変数を使用しています」が発生したのはなぜですか?
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】「namespace」なのに「type」のように使われる。