ちょっと戻るけど、C#3以降では、プロパティの実装が簡単になっている。
自動実装するプロパティ - C# プログラミング ガイド | Microsoft Docs
Class1.csが、
// 整数値と文字列を持つクラス class Class1 // Class1クラスの定義 { // プロパティの定義 private int i; // int型フィールドi public int I // int型プロパティI { // 取得時の動作の定義. get // getの下のブロックに取得時動作を書く. { // iの値を返す. return i; // return iでiを返す. } // 設定時の動作の定義. set // setの下のブロックに設定時動作を書く. { // 設定値をiに格納. i = value; // valueをiに格納. } } private string str; // string型フィールドstr public string Str // string型プロパティStr { // 取得時の動作の定義. get // getの下のブロックに取得時動作を書く. { // strの値を返す. return str; } // 設定時の動作の定義. set // setの下のブロックに設定時動作を書く. { // 設定値をstrに格納. str = value; // valueをstrに格納. } } // メソッドの定義 // 初期化 public Class1() // コンストラクタClass1()の定義 { // 初期化. i = 0; // iを0にセット. str = "-"; // strに"-"をセット. } }
こうで、
MainClass.csが、
の時に、実行すると、
c1.I = -5 c1.I = 10 c1.Str = c1.Str = ABC 続行するには何かキーを押してください . . .
となるが、Class1.csは、
このようにプロパティの実装を省略できる。
c1.I = -5 c1.I = 10 c1.Str = c1.Str = ABC 続行するには何かキーを押してください . . .
結果は変わらない。