2010-11-20 70 views
0

我想在VB.NET中创建一个强类型的Dictionary类。我厌倦了打字在VB.NET中强类型的字典类

Dim people as Dictionary(Of String, Person) 

,并想使PersonDictionary类,所以我可以说

Dim people as PersonDictionary 

我的参考材料,说要创建一个继承的DictionaryBase类的新类。然后覆盖添加,删除和项目子/属性。

这似乎是一个很常见的模式,有没有更简单的方法?

感谢

+0

什么难上重写这些方法与F.E. mybase.add(人)? – 2010-11-20 15:22:49

+0

我想这并不困难,只是想知道是否有更好的方法。它看起来像我也必须重写keys属性。我不应该得到这个免费的吗? – Jonathan 2010-11-20 15:23:56

+0

如果您使用通用类型字典(字符串,人员),您可以免费获得该文件。我不明白你为什么需要继承。 – 2010-11-20 15:33:27

回答

4

这可以这样做:

Public Class PersonDictionary 
    Inherits Dictionary(Of String, Person) 

End Class 
3
imports MyDictionary = System.Collections.Generic.Dictionary(Of string, string) 

public module MyModule 
    Sub Main() 
     dim myData as New MyDictionary 
     mydata.Add("hello", "world") 
     Console.WriteLine(mydata.Keys.Count) 

     mydata.Add("hello2", "world2") 
     Console.WriteLine(mydata.Keys.Count) 

    End Sub 
end module