Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ThreadSafeLogEventHandler проблемы с созданием

72K
17 сентября 2013 года
Num2
17 / / 22.08.2013
Всем привет.
Скажите, можно ли создавать 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_;
                }
            }
        }

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);
        }
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог