События могут возвращать только void и получать объект sender/eventargs, верно?
Если это так, то craptastic.... как я могу передать указатель функции на другой объект, например:
public bool ACallBackFunc(int n)
{
return n > 0;
}
public void RegisterCallback(Something s)
{
s.GiveCallBack(this.ACallBackFunc);
}
Something::GiveCallBack(Action? funcPtr)
Я пытался использовать Action
, но мне нужно, чтобы он возвращал какое-то значение, а Action
s может возвращать только void. Кроме того, мы не знаем, какой обратный вызов мы получим; он может возвращать что угодно и иметь любые параметры! Я думаю, что рефлексию придется как-то использовать.