как писать пользовательские классы обработки событий, если у кого-то есть представление о том, как его создать, или если вы знаете какую-либо хорошую статью относительно этого, то, пожалуйста, помогите мне.
Спасибо в Advance
как писать пользовательские классы обработки событий, если у кого-то есть представление о том, как его создать, или если вы знаете какую-либо хорошую статью относительно этого, то, пожалуйста, помогите мне.
Спасибо в Advance
Я не совсем уверен, что вы имеете в виду, но если вы говорите о производном классе EventArgs:
public class MyEventArgs : EventArgs
{
private string m_Data;
public MyEventArgs(string _myData)
{
m_Data = _myData;
} // eo ctor
public string Data {get{return m_Data} }
} // eo class MyEventArgs
public delegate void MyEventDelegate(MyEventArgs _args);
public class MySource
{
public void SomeFunction(string _data)
{
// raise event
if(OnMyEvent != null) // might not have handlers!
OnMyEvent(new MyEventArgs(_data));
} // eo SomeFunction
public event MyEventDelegate OnMyEvent;
} // eo class mySource
Надеюсь, что это поможет.
Я считаю, что вы имеете в виду новый EventHandler для события, а не EventArgs. Есть два простых способа сделать это. Во-первых, вы можете создать событие, которое использует общий EventHandler, который является самым быстрым и простым способом использования нового класса EventArgs:
event EventHandler<MyEventArgs> sampleEvent;
Второй способ почти такой же простой и, возможно, более аккуратный с точки зрения синтаксиса, заключается в создании нового делегата, который имеет аргументы, которые вы хотите для своего события, которое вы можете использовать сразу:
delegate void MyEventHandler(object sender, MyEventArgs e);
event MyEventHandler sampleEvent;
И этот второй метод позволит вам повторно использовать обработчик позже.
Вы объявляете событие следующим образом:
public delegate void MyEventDelegate(...);
public static event MyEventDelegate MyEvent = delegate { };
Затем, чтобы поднять событие:
MyEvent(...);
Событие инициализируется анонимным делегатом, чтобы удалить требование проверки нуля каждый раз, когда вы хотите поднять событие.