ThreadSafeLogEventHandler проблемы с созданием
Скажите, можно ли создавать 2 и более ThreadSafeLogEventHandler событий между 2мя разными классами, чтобы передавать нужную инфу... создал 1 событие - все ок, создаю еще одно такое событие - начинается проблемы: "Несколько аргументов делегата "AfyControls.NotificationCenterWindow.ThreadSafeLogEventHandler" являются недопустимыми"
Откусил кусок связанный именно с событием... Подскажите, может пропустил что-то..
1й класс
Код:
RemoveMessagePanel event_ = new RemoveMessagePanel(id);
OnErrorInLogThread(event_);
LoadMessagePanel Load_event_ = new LoadMessagePanel(AfyEN._AddEventNotification.eventNotificationId);
OnLoad(Load_event_);
public event ThreadSafeLogEventHandler ThreadSafeLogHandler;
protected virtual void OnErrorInLogThread(RemoveMessagePanel e)
{
if (ThreadSafeLogHandler != null)
{
ThreadSafeLogHandler(this, e);
}
}
public class RemoveMessagePanel : EventArgs
{
private string idMsg_;
public RemoveMessagePanel(string id)
{
this.idMsg_ = id;
}
public string ErrorLogThread
{
get
{
return idMsg_;
}
}
}
/*----------------------------------------------------------*/
public event ThreadSafeLogEventHandler OnNotificationsListLoaded;
protected virtual void OnLoad(LoadMessagePanel e)
{
if (OnNotificationsListLoaded != null)
{
OnNotificationsListLoaded(this, e);
}
}
public class LoadMessagePanel : EventArgs
{
private string idMsgload_;
public LoadMessagePanel(string id)
{
this.idMsgload_ = id;
}
public string ErrorLogThread
{
get
{
return idMsgload_;
}
}
}
OnErrorInLogThread(event_);
LoadMessagePanel Load_event_ = new LoadMessagePanel(AfyEN._AddEventNotification.eventNotificationId);
OnLoad(Load_event_);
public event ThreadSafeLogEventHandler ThreadSafeLogHandler;
protected virtual void OnErrorInLogThread(RemoveMessagePanel e)
{
if (ThreadSafeLogHandler != null)
{
ThreadSafeLogHandler(this, e);
}
}
public class RemoveMessagePanel : EventArgs
{
private string idMsg_;
public RemoveMessagePanel(string id)
{
this.idMsg_ = id;
}
public string ErrorLogThread
{
get
{
return idMsg_;
}
}
}
/*----------------------------------------------------------*/
public event ThreadSafeLogEventHandler OnNotificationsListLoaded;
protected virtual void OnLoad(LoadMessagePanel e)
{
if (OnNotificationsListLoaded != null)
{
OnNotificationsListLoaded(this, e);
}
}
public class LoadMessagePanel : EventArgs
{
private string idMsgload_;
public LoadMessagePanel(string id)
{
this.idMsgload_ = id;
}
public string ErrorLogThread
{
get
{
return idMsgload_;
}
}
}
2й класс
Код:
notificationCenterWindow1.ThreadSafeLogHandler += new AfyControls.NotificationCenterWindow.ThreadSafeLogEventHandler(OnErrorInLogThread);
notificationCenterWindow1.ThreadSafeLogHandler += new AfyControls.NotificationCenterWindow.ThreadSafeLogEventHandler(OnLoad);
private void OnErrorInLogThread(object sender, AfyControls.NotificationCenterWindow.RemoveMessagePanel e)//Событие при получении ошибки в внутреннем потоке класса ThreadSafeLog
{
Invoke(new ShowErrorFromThread(SetErrorLabel), new object[] { e.ErrorLogThread });
MessageBox.Show(e.ErrorLogThread);
}
private void OnLoad(object sender, AfyControls.NotificationCenterWindow.LoadMessagePanel e)
{
Invoke(new ShowErrorFromThread(SetErrorLabel), new object[] { e.ErrorLogThread });
MessageBox.Show(e.ErrorLogThread);
}
notificationCenterWindow1.ThreadSafeLogHandler += new AfyControls.NotificationCenterWindow.ThreadSafeLogEventHandler(OnLoad);
private void OnErrorInLogThread(object sender, AfyControls.NotificationCenterWindow.RemoveMessagePanel e)//Событие при получении ошибки в внутреннем потоке класса ThreadSafeLog
{
Invoke(new ShowErrorFromThread(SetErrorLabel), new object[] { e.ErrorLogThread });
MessageBox.Show(e.ErrorLogThread);
}
private void OnLoad(object sender, AfyControls.NotificationCenterWindow.LoadMessagePanel e)
{
Invoke(new ShowErrorFromThread(SetErrorLabel), new object[] { e.ErrorLogThread });
MessageBox.Show(e.ErrorLogThread);
}