Exemple #1
0
        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]}");
            }
        }