【问题标题】:Property set method without private variable没有私有变量的属性设置方法
【发布时间】:2016-03-22 16:14:01
【问题描述】:

我得到了最简单的属性,比如

public bool Something { get; set; }

但几乎每一个我都需要在设置后调用一些方法,所以一行变成了

private bool _something;
public bool Something {
    get{ 
        return _something;
    }
    set{
        _something = value;
        CallMethod();
    }
}

但它破坏了代码的所有视觉方面。 所以我的问题是我是否可以调用 setter 方法并保持清晰的代码?

【问题讨论】:

  • 看起来不错。你做的任何其他事情只会增加复杂性。情人眼中的美。
  • 你在CallMethod在做什么?您可能会查看一些面向方面的编程库,看看它们是否支持自动属性。
  • 无论CallMethod 做什么...在下一个C# 版本中他们应该做public bool Something { get; set{ CallMethod(); } }

标签: c# properties accessor


【解决方案1】:

据我所知,简单的答案是否定的。当您只使用 get 和 set 创建属性时,它被称为自动属性。编译器仍然使用支持的私有变量创建完整的代码。

您所拥有的将被视为标准编码实践。这是几行额外的代码,但易于阅读。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-01
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    相关资源
    最近更新 更多