“自定义事件”如何在VB.Net中运行?

前端之家收集整理的这篇文章主要介绍了“自定义事件”如何在VB.Net中运行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在C#中如果我想创建一个“自定义事件”,你可以这样做:
  1. private EventHandler _MyEvent;
  2. Public Event EventHandler MyEvent
  3. {
  4. add{ _MyEvent += value; }
  5. remove{ _MyEvent -= Value; }
  6. }
  7. protected void RaiseMyEvent()
  8. {
  9. if(_MyEvent != nul)
  10. _MyEvent(this,EventArgs.Empty);
  11. }

在VB中,这不是那么简单,我也无法在网上找到任何帮助.
这不起作用:

  1. private _MyEvent as EventHandler
  2. Public Custom Event MyEvent as EventHandler
  3. AddHandler(ByVal value as EventHandler)
  4. _MyEvent += value 'does not work
  5. addhandler _MyEvent,value 'does not work
  6. [Delegate].Combine(_MyEvent,value) '_MyEvent still nothing
  7. End AddHandler
  8. RemoveHandler(ByVal value as EventHandler)
  9. 'Same kind of stuff here
  10. End RemoveHandler
  11. RaiseEvent(sender as Object,e as EventArgs)
  12. if(_MyEvent IsNot Nothing) Then '_MyEvent is always nothing
  13. _MyEvent.Invoke(sender,e)
  14. End If
  15. End RaiseEvent
  16. End Event

请帮忙.

委托是不可变的,因此方法“[Delegate] .Combine”返回新委托,但不修改参数.所以你需要:
  1. _MyEvent = [Delegate].Combine(_MyEvent,value)

猜你在找的VB相关文章