When I try to compile the following:
public static delegate void MoveDelegate (Actor sender, MoveDirection args);
I receive, as an error: "The modifer 'static' is not valid for the this item."
I'm implementing this within a singleton, with a separate class which calls the delegate. The problem is that when I use the singleton instance within the other class to call the delegate (from the identifier, not the type), I can't do that for whatever reason, even when I declare the delegate non-static. Obviously, I can only refer to it via the type directly if and only if the delegate is static.
What is the reasoning behind this? I am using MonoDevelop 2.4.2.
update
After trying one of the suggestions with the following code:
public void Move(MoveDirection moveDir)
{
ProcessMove(moveDir);
}
public void ProcessMove(MoveDirection moveDir)
{
Teleporter.MoveMethod mm = new Teleporter.MoveMethod(Move);
moveDelegate(this, moveDir);
}
I've received a processing error, which states that the MoveMethod must be a type, and not an identifier.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…