public override bool IsHasChanges(BaseTestParametersAndNormatives oldParameters) { if (oldParameters == null) { throw new ArgumentNullException("Метод '" + System.Reflection.MethodBase.GetCurrentMethod().Name + "' получил на вход параметр 'oldParameters' равный Null."); } //сравниваем свой хеш с хешем принятого oldParameters и если они одинаковы - значит мы имеем дело с одним и тем же экземпляром if (this.GetHashCode() == oldParameters.GetHashCode()) { return(false); } //раз мы сюда добрались - имеем дело с разными экземплярами, необходимо сравнение их содержимого var typeName = oldParameters.GetType().Name; if (typeName != "TestParameters") { throw new InvalidCastException("Method '" + System.Reflection.MethodBase.GetCurrentMethod().Name + "' получил на вход параметр 'oldParameters' тип которого '" + typeName + "'. Ожидался тип параметра 'TestParameters'."); } var aTUOldParameters = (TestParameters)oldParameters; if (PrePulseValue != aTUOldParameters.PrePulseValue) { return(true); } if (PowerValue != aTUOldParameters.PowerValue) { return(true); } return(false); }
public override bool IsHasChanges(BaseTestParametersAndNormatives oldParameters) { if (oldParameters == null) { throw new ArgumentNullException("Метод '" + System.Reflection.MethodBase.GetCurrentMethod().Name + "' получил на вход параметр 'oldParameters' равный Null."); } //сравниваем свой хеш с хешем принятого oldParameters и если они одинаковы - значит мы имеем дело с одним и тем же экземпляром if (this.GetHashCode() == oldParameters.GetHashCode()) { return(false); } //раз мы сюда добрались - имеем дело с разными экземплярами, необходимо сравнение их содержимого var typeName = oldParameters.GetType().Name; if (typeName != "TestParameters") { throw new InvalidCastException("Method '" + System.Reflection.MethodBase.GetCurrentMethod().Name + "' получил на вход параметр 'oldParameters' тип которого '" + typeName + "'. Ожидался тип параметра 'TestParameters'."); } var QrrTqOldParameters = (TestParameters)oldParameters; if (Mode != QrrTqOldParameters.Mode) { return(true); } if (DirectCurrent != QrrTqOldParameters.DirectCurrent) { return(true); } if (DCPulseWidth != QrrTqOldParameters.DCPulseWidth) { return(true); } if (DCRiseRate != QrrTqOldParameters.DCRiseRate) { return(true); } if (DCFallRate != QrrTqOldParameters.DCFallRate) { return(true); } if (OffStateVoltage != QrrTqOldParameters.OffStateVoltage) { return(true); } if (OsvRate != QrrTqOldParameters.OsvRate) { return(true); } if (TrrMeasureBy9050Method != QrrTqOldParameters.TrrMeasureBy9050Method) { return(true); } if (Idc != QrrTqOldParameters.Idc) { return(true); } if (Qrr != QrrTqOldParameters.Qrr) { return(true); } if (Irr != QrrTqOldParameters.Irr) { return(true); } if (Trr != QrrTqOldParameters.Trr) { return(true); } if (DCFactFallRate != QrrTqOldParameters.DCFactFallRate) { return(true); } if (Tq != QrrTqOldParameters.Tq) { return(true); } return(false); }