Ric*_*ard 5 events listeners c++-cli
在C#中,我可以检查一个事件是否有任何监听器:
C#示例:
public static event EventHandler OnClick;
if (OnClick != null)
OnClick(null, new EventArgs() );
Run Code Online (Sandbox Code Playgroud)
在C++/CLI中,检查事件是否为null是不必要的.
C++/CLI示例:
delegate void ClickDelegate( Object^ sender, MyEventArgs^ e );
event ClickDelegate^ OnClick;
OnClick (sender, args);
Run Code Online (Sandbox Code Playgroud)
但是,在我正在进行的项目中,如果没有侦听器,我不想构造MyEventArgs对象.
如何判断OnClick是否在C++中有任何监听器?
看来您无法像您使用的那样使用“琐碎事件”进行检查,因为您无法直接访问底层字段(与 C# 中的自动实现属性一样)。
如果您想这样做,您可以显式指定事件的访问器方法和支持字段。有关具体操作方法,请参阅如何:定义事件访问器方法。
| 归档时间: |
|
| 查看次数: |
2447 次 |
| 最近记录: |