我的课上有一个属性,在set访问器中有很多逻辑:
private String text;
public String Text
{
get { return text; }
private set
{
// some actions with a value
value = value.Replace('a', 'b');
text = value;
}
}
如何防止其他开发人员(甚至我)更改字段而不是更改此类的属性?
如果有人写这样的话:
public Test(String text)
{
this.text = text;
}
这会破坏我班级的逻辑!
通常,类应该足够小,这样就不会成为问题。由于该字段是private
,因此只有相同类型内的代码才能访问该字段。但是,如果您需要强调重要性,则可以执行以下操作:
[Obsolete("Use the Text property, or I break your legs; fair warning")]
private string text;
public string Text
{
#pragma warning disable 0618
get { return text; }
private set
{
// some actions with a value
value = value.Replace('a', 'b');
text = value;
}
#pragma warning restore 0618
}
这不会阻止他们,但是可以帮助防止意外使用该字段。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句