Когда я пытаюсь скомпилировать следующее:
public static delegate void MoveDelegate (Actor sender, MoveDirection args);
Я получаю в качестве ошибки: "Модификатор" static "недействителен для этого элемента".
Я реализую это в одноэлементном режиме, с отдельным классом, который вызывает делегата. Проблема заключается в том, что когда я использую экземпляр singleton в другом классе для вызова делегата (из идентификатора, а не из типа), я не могу сделать это по какой-либо причине, даже когда объявляю делегат нестационарным. Очевидно, что я могу ссылаться на него только через тип, если и только если делегат статичен.
В чем причина этого? Я использую MonoDevelop 2.4.2.
Обновление
Попробуйте одно из предложений со следующим кодом:
public void Move(MoveDirection moveDir)
{
ProcessMove(moveDir);
}
public void ProcessMove(MoveDirection moveDir)
{
Teleporter.MoveMethod mm = new Teleporter.MoveMethod(Move);
moveDelegate(this, moveDir);
}
Я получил ошибку обработки, в которой говорится, что MoveMethod должен быть типом, а не идентификатором.