Disons donc que je classe 1Comment conserver une référence à une propriété de classe mise à jour?
public Class1
{
Class2 myClass2;
public Class1()
{
myClass2 = new Class2();
}
public SomeObject anObject
{
get;
set;
}
}
et Classe2
public Class2
{
private SomeObject _myObject;
public SomeObject MyObject
{
get{ return _myObject;}
set{ _myObject = value; }
}
public void DoStuffToObject()
{
_myObject.Property = newValue;
}
}
Comment puis-je conserver _myObject en Classe2 les mêmes que anObject dans Class1 si je mets anObject égal à un autre objet. Donc, si je change anObject dans Class1 _myObject, est-ce que les changements de classe 2 aussi? Est-ce une bonne solution:
(en Class1)
private SomeObject _anObject;
public SomeObject anObject
{
get{ return _anObject; }
set{ _anObject = value;
if(myClass2 != null)
myClass2.MyObject = value;
}
}
Il semble un peu étranger, mais sens que vous ne pouvez pas passer une propriété par référence Je suis un peu perplexe.
Merci
Cette conception semble peu précis. Il peut y avoir plusieurs instances de chaque. myClass2.MyObject est une référence illégale à une propriété membre. Vos classes doivent être décomposées de telle sorte qu'elles n'aient pas besoin de s'appuyer sur les internes d'autres classes. – recursive