我需要为成员类设置一个默认值,这个值可以变化,并在执行开始时设置; 到目前为止我有这个,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;
}
}
Run Code Online (Sandbox Code Playgroud)
我在调用应用程序时将minScore值作为参数.为运行时生成的每个对象设置minScore的最佳方法是什么?
两种选择:
创建一个ZonesFactory
类,它接受defaultMinScore
构造函数(记住),并有一个CreateZones
创建实例并设置最小分数的方法:
public class ZonesFactory
{
private readonly int defaultMinScore;
public ZonesFactory(int defaultMinScore)
{
this.defaultMinScore = defaultMinScore;
}
public Zones CreateZones()
{
return new Zones(defaultMinScore);
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,这里我假设您还创建了一个新的构造函数Zones
,并将其minScore
作为参数.我建议你摆脱这种setMinScore
方法(除了其他任何东西之外违反.NET命名约定).
使用静态变量保持默认值,并在Zones
构造函数中设置它
就个人而言,我更喜欢第一种.