static void Main() { TemperatureConverterImp temperature = new TemperatureConverterImp(); delegateConvertTemperature FtoC = temperature.MethodFToC, CtoF = temperature.MethodCToF; double[] testTemp = { 0, 5, -5, 12.5, -12.5 }; for (int i = 0; i < testTemp.Length; i++) { double currentTemp = FtoC(testTemp[i]); WriteLine($"{testTemp[i]} F = {currentTemp} C \n{currentTemp} C = {CtoF(currentTemp)} F\n"); } }
private static void TestDelegateFirst() { DelegateConvertTemperature delegateConvert = new TemperatureConverterImp().ConvertCToF; delegateConvert += new TemperatureConverterImp().ConvertFToC; var temperature = Random.NextDouble() * 100; Console.WriteLine($"Temperature: {temperature:F2}"); foreach (DelegateConvertTemperature converter in delegateConvert.GetInvocationList()) { Console.WriteLine( $"Result: {converter?.Invoke(temperature):F2}; " + $"Method: {converter?.Method}; Target: {converter?.Target}" ); } }
static void Main(string[] args) { TemperatureConverterImp first = new TemperatureConverterImp(); delegateConvertTemperature[] tempConvertors = new delegateConvertTemperature[4]; tempConvertors[0] = first.FromCtoF; tempConvertors[1] = StaticTempConverters.FromCtoK; tempConvertors[2] = StaticTempConverters.FromCtoR; tempConvertors[3] = StaticTempConverters.FromCtoRe; string[] scales = { "F", "K", "R", "Re" }; double temp; do { Console.Write("Введите температутуру в градусах Цельсия: "); }while (!double.TryParse(Console.ReadLine(), out temp)); for (int i = 0; i < 4; i++) { Console.WriteLine($"{temp:F3} C = {tempConvertors[i](temp):F3} {scales[i]}"); } }