public double CalculateAverage(List <double> values, ToCompute computing) { if (values == null) { throw new ArgumentNullException(nameof(values)); } return(computing(values)); }
public double CalculateAverage(List <double> values, ToCompute computing) { if (computing == null) { throw new ArgumentException(nameof(computing)); } else { DelegateToInterfaceAdapter adapter = new DelegateToInterfaceAdapter(computing); return(CalculateAverage(values, adapter)); } }
public double CalculateAverage(List <double> values, IAverageMethod averagingMethod) { ToCompute compare = averagingMethod.Calculate; if (averagingMethod == null) { throw new ArgumentException(nameof(averagingMethod)); } else { return(CalculateAverage(values, compare)); } }
public DelegateToInterfaceAdapter(ToCompute c) { computing = c; }