这是游戏菜单中按钮的一个小类。
我希望能够在实例化每个按钮时传递委托方法 _triggerMethod。然后,当调用该按钮实例触发方法时,将调用该委托方法。
我在这里第一次尝试 C# 中的代表。就我在这里解释文档而言,我正在做的事情应该可以工作,但是 Visual Studio 在 Trigger 方法中给了我一个编译错误。
根据msdn文章,调用委托的代码不需要了解原始方法参数等。我究竟做错了什么?同样在 msdn 文章中,他们只输入“Del”,这对我不起作用。我必须输入奇怪的“代表”。
class MenuItem
{
private Rectangle clickArea;
private string displayText;
private Vector2 _position;
private Delegate _triggerMethod;
public MenuItem(Vector2 pos,string txt,Delegate trig)
{
displayText = txt;
_position = pos;
_triggerMethod = trig;
}
public void Draw(SpriteBatch sb)
{
}
public void Select()
{
}
public void DeSelect()
{
}
public void IsMouseOnMe()
{
}
public void Trigger()
{
_triggerMethod();
}
}