我需要为成员类设置一个默认值,这个值可以变化,并在执行开始时设置;到目前为止我有这个,minscore是我的默认值
public class Zones : GeneralIndicator { public int IndicatorType { get; set; } public string Code { get; set; } public string score { get; set; } //Todo: calcular desde aca el score usando el indicatortype public double Latitude { get; set; } public double Longitude { get; set; } private int minscore = 0; public void setMinscore(int value) { minscore = value; } }
解决方法
两种选择:
>创建一个ZonesFactory类,它在构造函数中记住defaultMinscore(要记住),并有一个CreateZones方法,它创建一个实例并设置最小分数:
public class ZonesFactory { private readonly int defaultMinscore; public ZonesFactory(int defaultMinscore) { this.defaultMinscore = defaultMinscore; } public Zones CreateZones() { return new Zones(defaultMinscore); } }
请注意,这里我假设您还为Zones创建了一个新的构造函数,它将minscore作为参数.我建议你摆脱setMinscore方法(除了其他任何东西,它违反了.NET命名约定).
>使用静态变量保持默认值,并在Zones构造函数中设置它
就个人而言,我更喜欢第一种.