на C#
public int PlayerReady;
delegate void UI();
class OnReady
{
public event UI ReadyEvent;
public void OnReadyEvent()
{
ReadyEvent();
}
}
class UserReady
{
bool uiReady;
public UserReady(bool Ready)
{
this.Ready = Ready;
}
public bool Ready { set { uiReady = value; } get { return uiReady; } }
public void OnReadyHandler(int PlayerReady)
{
WriteLine("событие вызвано!\n");
EventPlus(ref PlayerReady);
}
void EventPlus (ref int PlayerReady) {
PlayerReady++;
}
}
class Program
{
static void Main()
{
var evt = new OnReady();
var UR = new UserReady(ready);
evt.ReadyEvent += UR.OnReadyHandler(server.PlayerReadyToGame);//тут ошибка "Не удается неявно преобразовать тип void в Example.UI"
}
}
evt.ReadyEvent += UR.OnReadyHandler(server.PlayerReadyToGame);
evt.ReadyEvent += UR.OnReadyHandler;//подписываемся обработчиком 'OnReadyHandler' на событие ReadyEvent
delegate void UI();
, отличается от сигнатуры метода public void OnReadyHandler(int PlayerReady)
. Сигнатура делегата должна бытьvoid (int)
в данном случае.