//Преобразует значение в другой тип данных, если это возможно public CalcValue ChangeDataType(DataType dt) { if (Type != CalcValueType.Single) { return(this); } if (SingleValue.DataType == DataType.Value || SingleValue.DataType == DataType.Segments || dt.LessOrEquals(SingleValue.DataType)) { return(this); } return(new CalcValue(SingleValue.ChangeDataType(dt))); }