Dictionary から継承するクラスを作成しようとしています。
例えば:
var retDict = new Dictionary<string,string>();
次に、retDict["test"] を呼び出して、キー "test" を持つ項目を取得できます。
私がやりたいことは、このように呼び出す retDict のメソッドを持つことです。retDict["テスト","デフォルトの戻り値"];
キーが見つからない場合は、このメソッドでベース ディクショナリにアイテムを作成する必要があります。
これは可能ですか?可能であれば、このメソッド/「peroperty get」をどのように記述しますか?
よろしくお願いします。/デニス
[編集]
これがVB.NETの書き方です。
Public Class MyDictionary
Inherits System.Collections.Generic.Dictionary(Of String, String)
Default Public Overloads Property Item(ByVal key As String, Optional DefaultValue As String = "") As String
Get
If Not MyBase.ContainsKey(key) Then
If DefaultValue <> "" Then
MyBase.Add(key, DefaultValue)
Else
Return ""
End If
End If
Return MyBase.Item(key)
End Get
Set(ByVal value As String)
MyBase.Item(key) = value
End Set
End Property
End Class