1
19
一旦属性违反最小惊喜原则就设置 -调用方希望当一个属性可以设置一次时,它可以再次设置。(当然,除了范围和兼容性检查之外,它们还绑定到特定的值或值组合)。
在构造函数中初始化它们。
或者,分离配置对象中的设置,这些设置可以在构造期间替换或传递。 |
2
12
我认为,如果将这些值传递给构造函数,并将其作为只读属性公开,那么对调用方来说,设计将更加清晰。如果在构建时无法设置该值,则在尝试再次设置该值时,可能需要引发异常:
只是要非常清楚: 我不 以任何方式 促进使用一次性设置属性 ;代码示例只显示 可以 使用, 如果在施工时该值不可用 不管什么原因。也就是说,我从未在我参与过的任何项目中遇到过这种情况。 |
3
4
我建议把它们设置在建筑上,从而使设置者成为私有的。这似乎是更明智的做法。 如果你想这样做,就抛出某种异常。至少让开发人员知道您没有设置它们的值,而不是默默地忽略它。 |
4
1
我同意弗雷德里克的观点,只读更合理。这样,您只能在构造函数中声明变量(或作为声明的一部分)。我认为做你所做的事情并不能立即清楚地表明这是你想要实现的。 退房 this MSDN页。 |
5
1
只需让setters方法而不是属性——期望和行为之间的分离就消失了。该方法可以自由地引发InvalidOperationException,但不期望由属性设置器执行该操作。
|
6
0
如果foothingy是一个像int这样的值对象,它将被0初始化而不是空值。剩下的看起来还可以 |
7
0
很难从这个玩具例子中分辨出来,但听起来
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |