ルルのゲーム開発備忘録

主にUnityやC#に関する情報を気まぐれに投稿していきま~す

【C#】インターフェース内で非同期メソッドを宣言する方法

はじめに

今回は非同期メソッドをインターフェースで宣言する方法についての紹介です。

asyncをつけてしまうと...

インターフェース内でasyncをつけて非同期メソッドを宣言すると、
「async修飾子は本体があるメソッドでのみ使用できます」とエラーが出て怒られてしまいます。

interfaceでasync

解決方法

asyncをつけずに、戻り値にTaskやUniTaskを指定してメソッドを宣言すると、
エラーが出ることもなく、外部からつかうときにawaitで非同期処理を行うことができます。

TaskやUniTaskでラップする