クラスのプロパティ②(自動実装)
前回お話した通り、プロパティは自分でgetアクセサとsetアクセサを設定する必要がありました。自動実装プロパティを利用すると、この部分を簡略して記述することが可能です。
//通常 private string _hoge; public string Hoge { get { return _hoge; } set { _hoge = value; } } //自動実装プロパティ public string Hoge { get; set; }
'通常 Private _hoge As String Public Property Hoge() As String Get Return _hoge End Get Set(ByVal value As String) _hoge = value End Set End Property '自動実装プロパティ Public Property Hoge() As String
自動実装プロパティ場合、setter、getterを記述しなくなるだけでなく、_hogeのような変数を別途用意する必要もありません。Hogeがクラス外部からはプロパティとして、クラス内部からは変数として振る舞われます。
当然ながら、プロパティ内部で何か制御が必要な場合は、自動実装プロパティを使用せず従来通りの記述で実装する必要があります。