2010-03-12 2 views
0

J'ai une classe de base qui déclare un regroupement d'objets. Ce regroupement peut être un tableau, Liste, Collection, c'est à moi de décider.Comment exposer un champ multi-élément dans une classe de base à des classes dérivées

Les classes dérivées de cette classe de base sont celles qui définissent réellement les valeurs de ce champ à plusieurs éléments. Quelle est la meilleure façon d'exposer ce champ aux classes dérivées?

+0

Pourriez-vous en dire plus sur ce domaine? –

+0

Ce champ est une collection de longueur fixe mais les éléments doivent pouvoir être modifiés pour les classes dérivées. Dans ce cas, je pense que le choix naturel est un tableau comme le type de champ. Cela pourrait être mieux expliqué car la classe de base allouera et la classe dérivée attribuera. –

Répondre

0

Expose via une interface minimale protégée :

class Base { 
    private List<string> _elems = new List<string>(); 
    protected ICollection<string> ElementStore { get { return _elems; } } 
} 

class Derived : Base { 
    public Derived() { 
     ElementStore.Add("Foo"); 
     ElementStore.Add("Bar"); 
    } 
} 
Questions connexes