Присоединение метода для выполнения для события - PullRequest
1 голос
/ 09 декабря 2011

Я получил событие из специального API, с которым я работаю, событие, с которым я работаю, определяется как

public event EventHandler<QuoteEventArgs> OnQuote


public class QuoteEventArgs : EventArgs

так что я пытаюсь сделать это прикрепить метод для запуска, когда я получаю новое Quote прослушивание этого события.

так что я делаю:

myInstance.OnQuote += new EventHandler<QuoteEventArgs>(doThis);

И метод определяется как:

public void doThis(object sender, QuoteEventArgs e){

//code here..

}

Я получаю ошибку:

Не удается преобразовать тип безразличия 'System.EventHandler<MT4API.QuoteEventArgs>' в 'System.EventHandler'

но у меня, похоже, нет специального EventHandler в API, поэтому я не совсем уверен, как заставить это работать.

Ответы [ 2 ]

1 голос
/ 09 декабря 2011

Из обсуждения комментариев видно, что вы используете версию библиотеки, в которой событие не имеет универсального типа, то есть подпись

public event EventHandler OnQuote;

Это означает, что вам также придетсяпотреблять его не общим способом: -

myInstance.OnQuote += new EventHandler(doThis);

public void doThis(object sender, EventArgs e){

   var myArgs = (QuoteEventArgs)e;
   ...
}
0 голосов
/ 09 декабря 2011

Я предполагаю, что есть два класса с именем QuoteEventArgs, возможно, один из указанной библиотеки DLL и один из сгенерированного прокси. Убедитесь, что если у вас есть что-то правильное, то оно правильное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...