VB.NET:如何重载Dictionary.Item(TKey)

时间:2011-02-09 12:09:52

标签: vb.net

我基于.NET Dictionary创建了自己的Dictionary类。

现在我想重载然后是Item()方法。这可以使用以下代码正常工作:

Public Overloads Property Item(ByVal key As TKey) As TValue
   Get
       Return Nothing 
   End Get
   Set(ByVal value As TValue)
      MyBase.Item(key) = value
   End Set
End Property

当我现在使用Dictionary.Item(Key)访问一个值时,我得到Nothing。但是当我使用Dictionary(Key)语法时,我得到的是值而不是Nothing。

如何正确地重载Dictionary.Item(Key)和Dictionary(Key)?

谢谢 托本

1 个答案:

答案 0 :(得分:3)

必须将该属性标记为Default才能启用索引器语法。

Public Overloads Default Property Item(ByVal key As TKey) As TValue
   Get
       Return Nothing 
   End Get
   Set(ByVal value As TValue)
      MyBase.Item(key) = value
   End Set
End Property