私はこの1つのためにどのようにGoogleにするのか分からなかったので、それはダムの質問かもしれませんが、とにかくそれを求めるつもりです。C#の複数のフックされたイベントから返された文字列を保持した後
デリゲートが文字列を返すようにするイベントがあります。複数のデリゲートメソッドがイベントにフックされている
public delegate string IncomingMessageHook(SpecialClasses.IncomingMessageData msg);
public event IncomingMessageHook InComingMessage;
、どのように私は他の出力を上書きする一つの方法を防ぐのですか? 私はNULL値ではなく、文字列を返すメソッドの出力のみを必要とします。 これを達成する方法はありますか、これは完全に不可能ですか? ありがとう!
編集: 例の状況は次のようになります:上記のコードでは
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を呼び出す場合それが戻りますことを確認してください「何かを!」 NULLではない?
「出力したいだけ」とはどういう意味ですか?パブリックイベントハンドラが返すものを制御することはできません。このハンドラを使用している場所でコードを表示できますか? –
私は、デリゲートがそれを要求してから何かを返さなければならないイベントにフックされた複数のメソッドがあることを意味しますが、それらはすべてONE以外のNULLを返します。私は何を意味するかを示すためにいくつかのコードを書き上げます。 – Alex