Beispiel #1
0
        static void Main(string[] args)
        {
            //Расширить функциональную возможность типа System.Double,
            //реализовав возможность получения строкового представления вещественного числа
            //Вызов

            Func <double, string> delDouble = DoubleExtensions.ToByteString;
            var    input        = -255.255;
            string resultDouble = delDouble(input);

            Console.WriteLine($"Assignment result #1.1 {resultDouble}");

            //вызов вычисления НОД по алгоритму Евклида:
            long s1 = GCDSearch.SearchByEuclid(100, 975);

            Console.WriteLine($"Assignment result #1.2 = {s1}");
            long s2 = GCDSearch.SearchByEuclid(18, -12, 24);

            Console.WriteLine($"Assignment result #1.2 = {s2}");
            long s3 = GCDSearch.SearchByEuclid(1000, 975, 250, -1250, 250, -625);

            Console.WriteLine($"Assignment result #1.2 = {s3}");
            long s4 = GCDSearch.SearchByEuclid(1000, 975, 250, -1250, 250, -625);

            Console.WriteLine($"Assignment result #1.2 = {s4}");

            //Реализовать для null-able типов, дополнительную возможность определения - является ссылка null или нет
            //Вызов
            Func <object, bool> delNull = NullExtensions.getNullReference;
            int? inputNum = null;
            bool result   = delNull(inputNum);

            Console.WriteLine($"Assignment result #1.3 {result}");

            //Develop a Countdown class, which implements the capability after the appointed
            //time(waiting time is provided by the user) to transmit a message to any subscriber
            //who subscribes to the event. You can use the Thread.Sleep method to create a wait effect
            //Вызов

            Timering   timer = new Timering();
            Subscriber first = new Subscriber(timer);

            timer.StartTimer(7);

            timer.Timeout += first.OnTimerTimeout;

            System.Threading.Thread.Sleep(7500);

            timer.Timeout -= first.OnTimerTimeout;
            timer.StartTimer(7);

            System.Threading.Thread.Sleep(7500);

            Console.WriteLine("Timer reached timeout.");
            Console.ReadKey();
        }
Beispiel #2
0
 protected override void TimerHandler(object sender, EventArgs e)
 {
     if (Timering != null)
     {
         Timering.Invoke(this);
     }
     if (_time == DateTime.Now)
     {
         if (TimerEnd != null)
         {
             TimerEnd.Invoke(this);
         }
         Close();
     }
 }