Я не был уверен, как Google для этого, так что это может быть глупый вопрос, но я все равно задам его.
У меня есть событие, которое хочет, чтобы делегаты возвращали строку.
public delegate string IncomingMessageHook(SpecialClasses.IncomingMessageData msg);
public event IncomingMessageHook InComingMessage;
Когда несколько методов делегата подключены к событию, как я могу предотвратить переопределение одним методом вывода другого?
Я хочу только вывод метода, который возвращает строку, а не значение NULL.
Есть ли способ достичь этого или это просто невозможно?
Спасибо!
Edit:
Примерная ситуация была бы такой:
public string NewMessage(string[] _message, System.Net.IPEndPoint RemoteIP)
{
if (InComingMessage != null)
{
string toreturn = InComingMessage(new SpecialClasses.IncomingMessageData(_message, RemoteIP));
return toreturn;
}
else return null;
}
//this calls the event and retrieves a string from it, then returns that.
static string Return_Null(OnyLib.SpecialClasses.IncomingMessageData msg)
{
return null;
}
//This hooked method returns null.
static string Return_Something(OnyLib.SpecialClasses.IncomingMessageData msg)
{
return "Something!";
}
//this hooked method returns "Something!"
С помощью приведенного выше кода, как мне убедиться, что если я вызову NewMessage (), он вернет "Something!" а не NULL?