当我在一个类中定义我的事件时,我知道参数是什么。我的问题是,在C#中,绑定到此事件的不同类函数可以不定义任何参数或将它们定义为动态类型,以便事物更像是脚本语言(比如Lua)。
用于显示想法的伪代码。
class Input
{
MyEvent<int, int> onKeyDown;
public void Update()
{
if(KeyHit())
onKeyDown.Raise(key, ctrl);
}
}
class Controller
{
// notice how we don't care about the parameters the event is sending so we don't define anything. this is what I'm curious if it can happen
public void Move()
{
}
}
Input input = new Input()
Controller c = new Controller()
input.onKeyDown += controller.Move
这项工作最接近的是什么?
或许我只关心键而不是ctrl所以我只用第一个参数定义Move()?