コンストラクターの難問、私はこれら 2 つのコンストラクターを持っています。1 つはクラスのコピーを作成するためのもので、もう 1 つは標準コンストラクターです。その中でルールを使用できるように、最初のものを呼び出す必要があります。コードを繰り返す必要はないので、2 つの次元を上書きしないようにする方法を探しています。
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;
}
2 つの変数を上書きせずに、デフォルトのコンストラクターを呼び出せるようにしたいと考えています。どんな助けでも大歓迎です。
それらがnullかどうかを確認して確認できると思いますが、それが最善の方法ではないようです。
ありがとう