C#中自定义事件的谨慎事项
发布时间:2021-12-17 13:05:03 所属栏目:PHP教程 来源:互联网
导读:一个类中定义如下事件: [csharp] public delegate void AfterDrawPointEvent(object sender,double x,double y); [csharp] private AfterDrawPointEvent pAfterDrawPointEvent; /// summary /// 插入要素事件 /// /summary public event AfterDrawPointEvent
一个类中定义如下事件: [csharp] public delegate void AfterDrawPointEvent(object sender,double x,double y); [csharp] private AfterDrawPointEvent pAfterDrawPointEvent; /// <summary> /// 插入要素事件 /// </summary> public event AfterDrawPointEvent AfterDrawpoint { add { pAfterDrawPointEvent += value; } remove { pAfterDrawPointEvent -= value; } } private void RaiseAfterDrawPointEvent(object sender, double x,double y) { if (pAfterDrawPointEvent != null) { pAfterDrawPointEvent(sender,x,y); } } 然后定义实现的响应方法,注意要先去掉旧的响应方法,否则可能出现部分变量的状态无法更新。代码如下: [csharp] m_pDrawCustomPoint.AfterDrawpoint-= new DrawCustomPoint.AfterDrawPointEvent(m_pDrawCustomPoint_AfterDrawpoint); m_pDrawCustomPoint.AfterDrawpoint += new DrawCustomPoint.AfterDrawPointEvent(m_pDrawCustomPoint_AfterDrawpoint); ![]() (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |