0

C# デリゲートを定義するコードがあるとします。

public delegate void RezScript(IClientAPI remoteClient, InventoryItemBase item, 
                               UUID transactionID, uint localID);

また、定義されて呼び出されるデリゲート オブジェクトもあります。

RezScript rezScriptHandler = OnRezScript;
...
rezScriptHandler += RelayRezScript;
...
if (rezScriptHandler != null) {
  rezScriptHandler(this, item, rezScriptx.InventoryBlock.TransactionID, 
                   rezScriptx.UpdateBlock.ObjectLocalID);
}

OnRezScriptMonoDevelop デバッガーへの呼び出しと、MonoDevelop デバッガー内での呼び出しの両方をステップ実行するにはどうすればよいRelayRezScriptですか? ステップ オーバーは、すべてのデリゲートをスキップし、最初の呼び出しにステップ インして、デリゲートの呼び出しの後に次の行に戻ります。すべてのデリゲートをステップ実行するにはどうすればよいですか?

PS もちろんコードを書き直してGetInvocationList()、for ループで各デリゲートを個別に呼び出して使用することもできますが、要点は、デバッグしながら適切な構文を維持することです。

4

1 に答える 1

1

これまでのところ、デリゲートを追加した各関数のエントリにブレークポイントを設定するという 1 つの方法しか見つかりませんでした。

于 2013-06-17T10:20:35.827 に答える