构造函数难题,我有这两个构造函数。一个是制作该类的副本,另一个是标准构造函数。我需要调用第一个,以便我可以在其中使用规则。我不应该重复代码,所以我正在寻找一种避免覆盖这两个维度的方法。复制构造函数去基础构造函数并覆盖复制值
public SprinklerLineModel()
{
NearCrossMainDimension = new PipeDimensionModel();
FarCrossMainDimension = new PipeDimensionModel();
this.AddValidationRule(Rule.CreateRule(() => BranchLineDiameter, RuleMessage.GREATER_THAN_ZERO,() => BranchLineDiameter > 0));
}
/// <summary>
/// Copy Constructor
/// </summary>
/// <param name="sprinklerLineModel">Original copy of sprinklerLineModel</param>
public SprinklerLineModel(SprinklerLineModel sprinklerLineModel)
:this()
{
this.EstimatedFlow = sprinklerLineModel.EstimatedFlow;
this.EstimatedPressure = sprinklerLineModel.EstimatedPressure;
this.NearCrossMainDimension = new PipeDimensionModel(sprinklerLineModel.NearCrossMainDimension);
this.FarCrossMainDimension = new PipeDimensionModel(sprinklerLineModel.FarCrossMainDimension);
this.BranchLineDiameter = sprinklerLineModel.BranchLineDiameter;
this.LeadLinePipeFittingLength = sprinklerLineModel.LeadLinePipeFittingLength;
this.ExbPipeFittingLength = sprinklerLineModel.ExbPipeFittingLength;
this.IsDirty = sprinklerLineModel.IsDirty;
}
我想能够调用默认的构造函数而不覆盖这两个变量。任何帮助,将不胜感激。
我想我可以检查一下,看看它们是否为空,但看起来好像不是最好的方法。
感谢