コード検査: ローカル機能を静的にすることができます
静的ローカル関数は、囲んでいるスコープの状態に依存しないように設計されています。JetBrains Rider が外側のスコープの変数を使用しないローカル関数を検出した場合、そのような関数を静的にすることをお勧めします。
これにより、JetBrains Rider は関数の使用目的を推測し、後でコードを読んだり変更したりする人にこの意図が明確に見えるようにします。
class Test
{
void Foo()
{
Console.WriteLine(LocalFunction1("test "));
// Can be made static because no local variables are captured
string LocalFunction1(string str) => str.Trim(' ');
const string test = "test ";
Console.WriteLine(LocalFunction2());
// Cannot be made static because the variable 'test' is captured
string LocalFunction2() => test.Trim(' ');
}
}
関連ページ:
![](https://resources.jetbrains.com/help/img/rider/2024.1/code_analysis_target_framework.png)
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから(W...
![](https://pleiades.io/icons/rider.png)
コード検査: 冗長な「抽象」修飾子
C# 8.0 以降、インターフェースメンバーで修飾子を使用できます。ただし、インターフェースメンバーはデフォルトで抽象的であるため、この修飾子はオプションです。つまり、デフォルトの実装(C# 8.0 の新機能でもあります)がない限り、実装クラスでオーバーライドする必要があります。そのため、ほとんどの場合、修飾子は冗長です。本体のないインターフェースメンバーは、同様のバイトコードにコンパイルされます。インターフェースメンバーで修飾子を使用する必要がある場合は、このメンバーがベースインターフェースの...