Я хочу всю функциональность Dictionary<TKey,TValue>
, но хочу, чтобы это было Foo<TKey,TValue>
.
Как мне это сделать?
В настоящее время я используюКак я могу наследовать словарь?
class Foo<TKey,TValue> : Dictionary<TKey, TValue>
{
/*
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<TKey,TValue>():base(){}
Foo<TKey,TValue>(int capacity):base(capacity){}
}
Что такое правильный способ перегрузки конструкторов и методы родительского класса?
ПРИМЕЧАНИЕ: Я думаю, что я неправильно использовал слово «перегрузка», пожалуйста, исправьте его или предложите исправление.
Вы говорите (в комментарии к моему ответу), что это реализация шаблона декоратора. Независимо от того, для чего он точно используется, я сомневаюсь, что вы должны наследовать словарь, даже не реализовывать IDictionary. Я думаю, вы должны просто написать обычный класс, который содержит (закрытый) словарь для управления своим состоянием и имеет некоторые методы добавления, удаления и получения. –