C# 2.0 以降の新機能を一つづつ確認していきます。
以前に一度行ったのですが、公式ドキュメント再編でリンク切れしているところを見つけてしまったので。今ならもっと簡潔なサンプルが欠けるところもあるだろうし、せっかくなので今もう一度確認して行きます。
プロパティの get/set 個別のアクセスレベル
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/restricting-accessor-accessibility
プロパティの get アクセサーと set で異なるアクセス レベルを設定できる。
class Program { static void Main(string[] args) { A a = new A(); // a.PropertyA = 1; <- set は private なのでこれはできない a.SetPropertyA(10); Console.WriteLine(a.PropertyA); // 10 } } class A { public int PropertyA { get; private set; } public void SetPropertyA(int value) { PropertyA = value; } }