从嵌套/基类更改属性时,将嵌套类之间的属性链接为具有相同值

本文关键字:属性 嵌套 链接 之间 基类 | 更新日期: 2023-09-27 18:30:08

假设这是:

class BaseClass
{
    public string MyProperty { get; set; }
    public NestedClass_ NestedClass;
    internal class NestedClass_ : BaseClass
    {
        public string MyNestedProperty { get; set; }
    }
}

现在,让我们这样说:

var baseClass = new BaseClass();
baseClass.NestedClass.MyNestedProperty = "Value applied from nested class";

在更改baseClass.NestedClass.MyNestedProperty时,是否可以对baseClass.MyProperty应用相同的值?

opsite案例:

var baseClass = new BaseClass();
baseClass.MyProperty = "Value applied from base class";

在更改baseClass.MyProperty时,是否可以对baseClass.NestedClass.MyNestedProperty应用相同的值?

从嵌套/基类更改属性时,将嵌套类之间的属性链接为具有相同值

找到了一种方法。。。

class BaseClass
{
    private string _myProperty;
    public string MyProperty
    {
        get { return _myProperty; }
        set
        {
            _nestedClass.MyNestedProperty = value;
            _myProperty = value;
        }
    }
    private NestedClass_ _nestedClass = new NestedClass_();
    private class NestedClass_
    {
        public string MyNestedProperty { get; set; }
    }
    public string MyNestedProperty
    {
        get { return _nestedClass.MyNestedProperty; }
        set
        {
            MyProperty = value;
            _nestedClass.MyNestedProperty = value;
        }
    }
}