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

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by stas1kus, 17 Sep 2013.

  1. stas1kus

    stas1kus New Member

    Joined:
    25 Jun 2012
    Messages:
    33
    Likes Received:
    4
    Reputations:
    0
    Всем привет.
    Скажите, можно ли создавать 2 и более ThreadSafeLogEventHandler событий между 2мя разными классами, чтобы передавать нужную инфу... создал 1 событие - все ок, создаю еще одно такое событие - начинается проблемы: "Несколько аргументов делегата "AfyControls.NotificationCenterWindow.ThreadSafeLogEventHandler" являются недопустимыми"

    Откусил кусок связанный именно с событием... Подскажите, может пропустил что-то..

    1й класс


    Code:
    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й класс

    Code:
    notificationCenterWindow1.ThreadSafeLogHandler += new AfyControls.NotificationCenterWindow.ThreadSafeLogEventHandler(OnErrorInLogThread);
    
    notificationCenterWindow1.ThreadSafeLogHandler += new AfyControls.NotificationCenterWindow.ThreadSafeLogEventHandler(OnLoad);
    
    private void OnErrorInLogThread(object sender, AfyControls.NotificationCenterWindow.RemoveMessagePanel e)
            {
                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);
     
    #1 stas1kus, 17 Sep 2013
    Last edited: 18 Sep 2013
  2. stas1kus

    stas1kus New Member

    Joined:
    25 Jun 2012
    Messages:
    33
    Likes Received:
    4
    Reputations:
    0
    вопрос исчерпан...