Я новичок в C # и испытываю трудности с пониманием событий в C #. Книга, которую я прочитал (Иллюстрированный C # 2008), дает пример об этом, и есть несколько вещей, о которых мне нужно спросить, так что я буду в прошломкод здесь и укажите вещи, которые я не понимаю.
public class MyTimerClass
{
public event EventHandler Elapsed;
private void OnOneSecond(object source, EventArgs args)
{
if (Elapsed != null)
Elapsed(source, args);
}
}
class ClassA
{
public void TimerHandlerA(object obj, EventArgs e) // Event handler
{
Console.WriteLine("Class A handler called");
}
}
class ClassB
{
public static void TimerHandlerB(object obj, EventArgs e) // Static
{
Console.WriteLine("Class B handler called");
}
}
class Program
{
static void Main( )
{
ClassA ca = new ClassA(); // Create the class object.
MyTimerClass mc = new MyTimerClass(); // Create the timer object.
mc.Elapsed += ca.TimerHandlerA; // Add handler A -- instance.
mc.Elapsed += ClassB.TimerHandlerB; // Add handler B -- static.
Thread.Sleep(2250);
}
}
Хорошо, теперь строка после объявления события здесь public event EventHandler Elapsed;
, что private void OnOneSecond(object source, EventArgs args)
я знаю, что две строки после негопроверить, содержит ли событие методы или нет, но для чего нужен OnOneSecound
?или когда это называется?или как он называется .. это не обработчик событий, я думаю, верно?и каковы отношения между Elapsed
и OnOneSecond
?
извините за вопрос новичка .. и заранее спасибо:)