.NET 4.x Бесконечная попытка приконнектится - C#
Формулировка задачи:
Имеется некий класс Class 1, из которого запускается таймер объекта другого класса (Class2). В Elapsed этого таймера метод пытается приконнектится к некоторому серверу. Если коннект удался, то мне нужно как то оповестить Class1 об этом или запустить метод этого класса. Как мне это сделать?
Решение задачи: «.NET 4.x Бесконечная попытка приконнектится»
textual
Листинг программы
using System; using System.Timers; namespace ConsoleApplication129 { public static class Program { private static void Main() { var a = new A(1000); a.Start(); Console.ReadKey(); } } public class A { private readonly Timer _timer; private readonly B _b = new B(); public A(double interval) { _timer = new Timer(interval); _timer.Elapsed += OnElapsed; _b.Connected += (sender, span) => Console.WriteLine("Connected for {0} seconds!", span.Seconds); } private void OnElapsed(object state, ElapsedEventArgs elapsedEventArgs) { _b.DoSomething(); } public void Start() { _timer.Start(); } } public class B { public event EventHandler<TimeSpan> Connected; protected virtual void OnConnected(TimeSpan e) { var handler = Connected; if (handler != null) handler(this, e); } public void DoSomething() { var r = new Random(); var ts = TimeSpan.FromSeconds(r.Next(5)); System.Threading.Thread.Sleep(ts.Milliseconds); OnConnected(ts); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д