如何更新对类属性的引用?

时间:2010-09-10 23:14:17

标签: c#

所以我想说我有1级

public Class1
{
    Class2 myClass2;

    public Class1()
    {
        myClass2 = new Class2();
    }

    public SomeObject anObject
    {
        get;
        set;
    }
}

和Class2

public Class2
{
    private SomeObject _myObject;
    public SomeObject MyObject
    {
        get{ return _myObject;}
        set{ _myObject = value; }
    }

    public void DoStuffToObject()
    {
        _myObject.Property = newValue;
    }
}

如果我将anObject设置为等于另一个对象,如何将Class2中的_myObject与Class1中的anObject保持相同。因此,如果我在Class1中更改了一个_Object,那么Class2也会发生变化吗?这是一个很好的解决方案:

(在Class1中)

    private SomeObject _anObject;
    public SomeObject anObject
    {
        get{ return _anObject; }
        set{ _anObject = value;
             if(myClass2 != null)
             myClass2.MyObject = value;
        }

    }

这似乎有点无关紧要,但感觉你不能通过参考传递财产我有点难过。

由于

1 个答案:

答案 0 :(得分:1)

public Class1
{
    private Class2 myClass2;

    public Class1()
    {
        myClass2 = new Class2();
    }

    public SomeObject anObject
    {
        get { return myClass2.MyObject; }
        set { myClass2.MyObject = value; }
    }
}