唖然とするコード

プロパティーオーバーロード^^;

こんな感じの共通関数をみんな使ってるみたいですが、誰かおかしいと思わないんでしょうか・・・orz

手伝う気失せるなぁ;;

コード

Public Overloads Property gstrFncGetString(ByVal App As String, ByVal Key As String) As String
    Get
        ' 文字列を読み出す
       〜〜〜 略 〜〜〜〜
    End Get

    Set(ByVal str As String)
        '文字列を書き込む
        〜〜〜 略 〜〜〜〜
    End Set
End Property


Public Overloads Property gstrFncGetString(ByVal App As String, ByVal Key As String, ByVal Path As String) As String
    Get
        ' 文字列を読み出す
       〜〜〜 略 〜〜〜〜
    End Get

    Set(ByVal str As String)
        '文字列を書き込む
        〜〜〜 略 〜〜〜〜
    End Set

呼び出し方

    obj.gstrFncGetString("a", "b") = "foo"
    Dim str1 As String = objDCINI.gstrFncGetString("a", "b")
    obj.gstrFncGetString("a", "b", "c") = "foo"
    Dim str2 As String = objDCINI.gstrFncGetString("a", "b", "c")
  • プロパティーのGetが引数付きでないと呼び出せない。
  • ステートレスなクラスなのに、Sharedメソッドでないため、いちいちインスタンス生成が必要

Property Getは引数でどの部分が呼び出されるか分かるけど、Property Setはオーバーロードの区別のために引数と代入が必要なのか。


新たな発見と共に、ひどい脱力感を感じる