为事件附加要执行的方法
本文关键字:执行 方法 事件 | 更新日期: 2023-09-27 18:17:22
我从我正在使用的特殊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'
,但我似乎没有一个特殊的事件处理程序的API,所以不太确定如何使其工作
从评论讨论来看,您似乎正在使用事件没有泛型类型的库版本,即签名是
public event EventHandler OnQuote;
这意味着您还必须以非泛型方式使用它:-
myInstance.OnQuote += new EventHandler(doThis);
public void doThis(object sender, EventArgs e){
var myArgs = (QuoteEventArgs)e;
...
}
我的猜测是有两个名为QuoteEventArgs
的类,可能一个来自引用的DLL,另一个来自生成的代理。确保你的用法是正确的