コードインスペクション: フィールドは読み取り専用(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 日