2013-02-13 27 views
0

假設有一個定義C#委託代碼:如何進入MonoDevelop中的第二個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); 
} 

如何通過在這兩個調用OnRezScriptRelayRezScript步驟MonoDevelop調試器?跳過將跳過所有代表,逐步進入第一個呼叫並在呼叫委派後返回下一行。我怎樣才能通過所有代表?

P.S.我可以重寫代碼來使用GetInvocationList(),並在for循環中分別調用每個委託,但是重點是在調試時保留好語法。

+0

看來你正在嘗試調試事件處理程序,而不是普通的代理。 – 2013-02-13 12:03:45

+0

可能。我對代表的概念很陌生,所以我對術語不太確定,但是你說的話聽起來是對的。我正在嘗試進入爲特定代理對象註冊的所有代理處理程序。 – 2013-02-13 13:51:31

回答

1

到目前爲止,我發現只有一個這樣做 - 在每個函數添加委託的入口處設置一個斷點。