internal StepV2 Clone() { StepV2 output = new StepV2(); output.Action = this.Action.Clone(); //foreach (var coc in this.CutOffConditions) //{ // CutOffCondition newcoc = coc.Clone(); // output.CutOffConditions.Add(newcoc); //} foreach (var cob in this.CutOffBehaviors) { CutOffBehavior newcob = cob.Clone(); output.CutOffBehaviors.Add(newcob); } foreach (var protection in this.Protections) { var newprotection = protection.Clone(); output.Protections.Add(newprotection); } output.Index = this.Index; output.Loop1Label = this.Loop1Label; output.Loop2Label = this.Loop2Label; return(output); }
public readonly CutOffBehavior _cob; //为了将其添加到Program里面去(见ProgramViewModel Add),不得不开放给viewmodel。以后再想想有没有别的办法。 #endregion // Fields #region Constructor public CutOffBehaviorViewModel(CutOffBehavior cob) { _cob = cob; _cob.PropertyChanged += _cob_PropertyChanged; //CreateCondition(); CreateJPBs(); }
private CutOffBehavior ConvertCOC2COB(CutOffCondition coc) { CutOffBehavior cob = new CutOffBehavior(); cob.Condition.Parameter = coc.Parameter; cob.Condition.Mark = coc.Mark; cob.Condition.Value = coc.Value; JumpBehavior jpb = new JumpBehavior(); jpb.JumpType = coc.JumpType; jpb.Index = coc.Index; cob.JumpBehaviors.Add(jpb); return(cob); }