Joa*_*nge 29 .net c# properties class
对于私有类变量,哪一个更受欢迎?
如果您有类似的属性int limit
,您希望它是:
int Limit {get; set;}
Run Code Online (Sandbox Code Playgroud)
并在类中使用它,如下所示:
this.Limit
Run Code Online (Sandbox Code Playgroud)
是否有理由使用它或不使用它?可能出于性能原因?
我想知道这是不是一个好习惯.
Rex*_*x M 31
对于私有成员,我只在获取和/或设置值时使其成为属性应该导致其他事情发生,例如:
private int Limit
{
get
{
EnsureValue();
return this._limit;
}
}
Run Code Online (Sandbox Code Playgroud)
否则,字段很好.如果你需要增加它们的可访问性,它已经是一个足够大的变化,使它在那时成为一个属性并不是一个大问题.
编辑:斯科特在评论中提醒我们,属性中的副作用通常会导致更多的痛苦.不违反单一职责并限制属性逻辑一致,逻辑运算仅在值即必须在栅极来完成-如迟缓装载(如在上面的例子中),转化的内部结构为公有用的格式,等等
Jar*_*Par 11
当可访问性是私有时,自动属性对字段的唯一真正好处是您可以在访问和更新变量时设置断点.如果这对您的场景很重要,那么一定要使用自动属性.否则,鉴于没有实质性优势,我选择使用最简单的构造,即场.