基本上,我想归档的是截获对委托的调用的方法。我在考虑定义一个可以用于它的类。类似于:
timer.Elapsed += new MyClass((sender, e)=> { /* do stuff */});如何以通用的方式定义MyClass?
我可以让Myclass继承自ElapsedEventHandler,但是它只能用于这个事件。我在考虑让MyClass继承自Action<object, EventArg>,因为您还可以编写
timer.Elapsed += (sender, e) => { /* do stuff */ }但我没有让它工作。有什么建议吗?
发布于 2015-08-25 18:09:45
您不能创建将被委托的类,但是您可以从您的类创建一个委托。
考虑一个类:
public class MyClass 
{
    public void OnTimerElapsed(object sender, EventArgs e)
    {
    }
}现在将您的类方法连接到事件:
var obj = new MyClass();
timer.Elapsed += obj.OnTimerElapsed;您还可以断开它的连接:
timer.Elapsed -= obj.OnTimerElapsed;您应该阅读更多关于C#中的事件的内容,比如这里:https://msdn.microsoft.com/en-us/library/aa645739(v=vs.71).aspx
https://stackoverflow.com/questions/32201022
复制相似问题