我如何从Dictionaryinheritance?

我想要Dictionary所有function,但我希望它为Foo
我该怎么做呢?
目前我正在使用

 class Foo : Dictionary { /* I'm getting all sorts of errors because I don't know how to overload the constructors of the parent class. */ // overloaded methods and constructors goes here. Foo():base(){} Foo(int capacity):base(capacity){} } 

重载父类的构造函数和方法的正确方法是什么?

注意:我认为我滥用了“过载”一词,请更正或建议更正。

你很接近,你只需要从构造函数中删除类型参数。

 class Foo : Dictionary { Foo():base(){} Foo(int capacity):base(capacity){} } 

要覆盖方法,可以使用override关键字。

不直接回答你的问题,只是一个建议。 我不会inheritance字典,我会实现IDictionary并聚合一个字典。 这很可能是一个更好的解决方案:

 class Foo : IDictionary { private Dictionary myDict; // ... } 

如果您只想要相同类型但名称不同,可以using别名来缩短它:

 using Foo = System.Collections.Generic.Dictionary; 

然后

 Foo f = new Foo();