Quiero toda la funcionalidad de Dictionary<TKey,TValue>
pero la quiero como Foo<TKey,TValue>
.
¿Cómo debo hacer esto?
Actualmente estoy usando¿Cómo heredo de Dictionary?
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){}
}
¿Cuál es la manera correcta de sobrecargar los constructores y los métodos de la clase padre?
NOTA: Creo que he abusado de la palabra 'sobrecarga' por favor, corregir o sugerir la corrección.
Usted dice (en el comentario de mi respuesta) que es una implementación del patrón de decorador. Sea cual sea el uso exacto, dudo que deba heredar de Dictionary, ni siquiera implementar IDictionary. Creo que debería simplemente escribir una clase regular que contenga un diccionario (privado) para administrar su estado, y que tenga algunos tipos de métodos Agregar, Eliminar y Obtener. –