private static int ToInt(ParameterCompareAggregateResult result) { switch (result) { case ParameterCompareAggregateResult.NotEqual: return(10); case ParameterCompareAggregateResult.DifferentLength: return(0); case ParameterCompareAggregateResult.Equal: return(30); case ParameterCompareAggregateResult.EqualOrCanBeConverting: return(50); default: throw new ArgumentOutOfRangeException(nameof(result), result, null); } }
private static ParameterCompareAggregateResult Aggregate(ParameterCompareAggregateResult result, ParameterCompareAggregateResult newResult) { return(ToInt(result) < ToInt(newResult) ? result : newResult); }
private static ParameterCompareAggregateResult Aggregate(ParameterCompareAggregateResult result, CompareResult compareResult) { return(Aggregate(result, Convert(compareResult))); }