繁体   English   中英

在c#中将默认值设置为成员类

[英]Set default value to member class in c#

我需要为成员类设置一个默认值,这个值可以变化,并在执行开始时设置; 到目前为止我有这个,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的最佳方法是什么?

两种选择:

  • 创建一个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构造函数中设置它

就个人而言,我更喜欢第一种。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM