【问题标题】:Link properties between nested classes to have same values when changing the property from the nested/base class从嵌套/基类更改属性时,链接嵌套类之间的属性以具有相同的值
【发布时间】:2012-04-05 05:21:45
【问题描述】:

假设:

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 应用相同的值?

那么相反的情况呢:

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

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

【问题讨论】:

  • 你到底想用这个 insane 代码完成什么?
  • @Bryan Crosby 只是想知道 C# 能做多少疯狂的事情;)。已经有一些有趣的疯狂的事情,比如实例化接口......只是 O:...... 惊讶!

标签: c# class properties nested variable-assignment


【解决方案1】:

找到了方法...

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;
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    相关资源
    最近更新 更多