我正在用 C++/CLI 编写我的自定义事件(我几乎只关心添加/删除方法),如下所示:
event EventHandler<XyzEventArgs^> ^Xyz
{
void add(EventHandler<XyzEventArgs^> ^handler);
void remove(EventHandler<XyzEventArgs^> ^handler);
void raise(Object ^sender, XyzEventArgs ^e);
}
一切都很好,但是当我查看 C# 下的 Intellisense 时,它显示了一个丑陋的公共 raise_Xyz 方法。
关于如何在不将我的活动设为私有的情况下隐藏它的任何想法?
非常感谢任何帮助。
编辑:
我能够通过使用不同的可见性修饰符(在我的情况下是内部的)标记它们来消除公共 raise_Xyz 方法。这几乎意味着不能从课堂之外引发事件。这对我来说没问题。然而,我注意到,即使是简单的事件
public: event EventHandler ^XXX;
生成 raise_XXX 方法并且它们受到保护。有什么方法可以防止这种情况发生吗?