UnityでRiderのMustUseReturnValueアトリビュートで戻り値が使われていないときに警告またはエラーを出す方法についてまとめました。
Unity 6000.3.6f1
やりたいこと
今、以下のように、何らかの処理をしてエラーコードを返すメソッドとについて考えます。
// 何か処理してエラーコードを返すメソッド private string ProcessAndReturnErrorCode() { // 何らかの処理 // エラーコードを返す return "error-123"; }
これを使う側のメソッドでは、以下のようにエラーコードを無視しても警告もエラーも出ません。
public sealed class Example { // 何か処理してエラーコードを返すメソッド private string ProcessAndReturnErrorCode() { return "error-123"; } private void Foo() { // エラーコードを無視しても警告もエラーも出ない ProcessAndReturnErrorCode(); } }
もし必ずエラーコードをチェックしてほしいなど戻り値を無視してほしくないときには、MustUseReturnValueアトリビュートが使えます。
これはJetBrainsのアトリビュートなので、Riderを使っている場合に使用することができます。
使い方
使い方は以下の通りです。
using JetBrains.Annotations; public sealed class Example { // JetBrains.Annotations.MustUseReturnValue属性をメソッドにつける [MustUseReturnValue] private string ProcessAndReturnErrorCode() { return "error-123"; } private void Foo() { // 戻り値を使っていないので警告が出るようになる ProcessAndReturnErrorCode(); } }
こんな感じの警告が出るようになります。

エラーにする
もしエラーにしたい場合には、Riderの設定のInspection Severityから設定することができます。
