佐々木屋

技術的なことから趣味まで色々書きます

VB.NETのプロパティは引数を付けられる

便利なのか余計なお世話なのか分かりませんが、VB.NETのプロパティは引数を実装できます。
例えば以下のような感じ。

Private piyo As String() = {"a", "b", "c"}
Public ReadOnly Property Hoge(ByVal index As Integer) As String
    Get
        Return piyo(index)
    End Get
End Property


クラス内で配列操作をする場合なら便利かな?
でも引数が必要であればメソッドでもいいような気もします。value値が省略できるくらいの恩恵が無いような。

C#の場合プロパティは引数を持てませんので、問答無用にメソッドで作るしかないです。後はインデクサを利用するかですが、名前が付けられないのでVB.NETと全く同じ挙動という訳にはいかないようです。

private string[] piyo = { "a", "b", "c" };
public string this[int index] {
    get {
        return piyo[index];
    }
}