我有抽象类
public abstract class BaseClass
{
public delegate void ContextMenuClickHandler(object sender, Point point);
public event ContextMenuClickHandler OnContextMenuClick;
public void OnMouseClick(MouseEventArgs e)
{
OnContextMenuClick(this, new Point((int) x, (int) y));
}
}
我插入事件:
Base.ContextMenuClickHandler += ShowContextMenu;//error
void ShowContextMenu(object sender, Point point)
{
}
错误:
'Base.ContextMenuClickHandler'是'type',在。中无效 给定上下文
如何解决?
答案 0 :(得分:2)
这里的问题是您使用的是事件类型ContextMenuClickHandler,而不是事件名称OnContextMenuClick。请尝试以下
base.OnContextMenuClick += ShowContextMenu
答案 1 :(得分:1)
OnContextMenuClick += ShowContextMenu;//fix
你使用了错误的变量。 OnContextMenuClick
是您订阅的活动。
但在你的情况下,为什么不使用虚拟方法呢?
答案 2 :(得分:0)