none
Propriété en lecture seule ? RRS feed

  • Discussion générale

  • Bonjour à tous,

    J'ai deux classe A et B qui héritent de la classe C

    class C {

    private C _parent;

    ....

    public C Parent { get { return _parent; } }

    }

    ///Classe A

    class A:C{

    Ilist<B> _bs = new List<B>();

    ....

    public void AddChild(B b){ 

    _bs.Add(B);

    B.Parent = this;  //Impossible de faire ça la propriété parent est en lecture seule

    }

    }

    /// Classe B

    class B:C { ... }

     

    Vous remarquez que dans la classe A j'ai une méthode d'ajout d'objets "B" , mais il me faut 

    changer la propriété Parent de chaque objet ajouté afin qu'il pointe sur son parent.

    Comment je dois faire ça (La propriété Parent doit être en lecture seule) ?

     

    Très cordialement.

    samedi 10 juillet 2010 13:59

Toutes les réponses

  • Bonjour,

    Ajoutez un setter internal afin qui soit utilisable uniquement dans l'assembly et pas l'extérieur :

    public C Parent
    {
      get { return _parent; }
      internal set { _parent = value; }
    }
    

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS Windows Forms - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    lundi 12 juillet 2010 08:06
    Modérateur