ReSharper 2026.1 Help

コードインスペクション: フィールドは読み取り専用(private アクセス)にできます

コンストラクターでのみ初期化された不変の Person クラスを作ることにしたとします。 次のように実装します。

public class Person { private string _name; private int _age; public Person(string name, int age) { _name = name; _age = age; } public override string ToString() => $"Name: {_name}, Age: {_age}"; }
Public Class Person Private _name As String Private _age As Integer Public Sub New(name As String, age As Integer) _name = name _age = age End Sub Public Overrides Function ToString() As String Return String.Format("Name: {0}, Age: {1}", _name, _age) End Function End Class

ReSharper はフィールドがコンストラクター内でのみ代入されていることを検出し、追加のセーフガードとして、これらを readonly でマークすることを提案します。これにより、このクラスやそのユーザーがこれらのフィールドに誤って新しい値を代入しないことが保証されます。

2026 年 6 月 12 日