如果您不应该使用私有设置器进行自动属性(不良练习),那么如何从课堂内私下设置它并仍然只是向公众公开? (假设我想在构造函数级别设置它但仍然允许它通过get公开)?
示例类:
public class Car
{
//set the property via constructor
public SomeClass(LicensePlate license)
{
License = license
}
public LicensePlate License{get; private set;} // bad practice
}
答案 0 :(得分:4)
您将该属性转换为具有支持字段且不具有setter的属性。
public class Car
{
LicensePlate _license;
public Car(LicensePlate license)
{
_license = license;
}
public LicensePlate License
{
get { return _license; }
}
}