我希望在我的自定义 XNA GUI 中创建一个 Button 类,该类接受方法作为参数,类似于在 Python 中tkinter
您可以设置要调用的函数 Button.config(command = a_method)
。
我已经阅读过在这里、这里和这里使用委托作为参数,但我似乎离让它工作更近了一步。我不完全理解代表是如何工作的,但是我尝试了几种不同的方法都没有成功,比如使用Func<int>? command = null
以便稍后测试以查看是否command
是,null
然后我会调用预设默认值,但后来我得到了一个Func cannot be nullable type
或类似的东西。
理想情况下,代码类似于:
class Button
{
//Don't know what to put instead of Func
Func command;
// accepts an argument that will be stored for an OnClick event
public Button(Action command = DefaultMethod)
{
if (command != DefaultMethod)
{
this.command = command;
}
}
}
但似乎我尝试过的一切都没有成功。