我正在尝试创建一个从 Dictionary 继承的类。
例如:
var retDict = new Dictionary<string,string>();
然后我可以调用 retDict["test"] 来获取带有“test”键的项目。
我想要做的是在 retDict 上有一个我这样调用的方法。retDict["test","默认返回值"];
如果找不到密钥,我希望此方法在基本字典中创建一个项目。
这可能吗?如果可能的话,我该如何编写这个方法/“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