我需要为成员类设置一个默认值,这个值可以变化,并在执行开始时设置;我到目前为止,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;
}
}
我在调用应用程序时将minScore值作为参数。为运行时生成的每个对象设置minScore的最佳方法是什么?
答案 0 :(得分:7)
两个选项:
创建一个ZonesFactory
类,它在构造函数中需要defaultMinScore
(要记住),并且有CreateZones
方法创建实例并设置最小分数:< / p>
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
构造函数
就我个人而言,我更喜欢第一种。