有沒有辦法知道一個對象的C#方法是否被調用或不使用反射?有沒有辦法知道一個對象的C#方法是否被調用?
1
A
回答
0
0
如果你的問題是如何找出是否一個特定的方法永遠不會在任何情況下和任何輸入被調用,那麼反思就無法爲你做。
您需要工具來執行靜態程序分析,但這些並不完全是爲了在運行時使用。
如果您可以更詳細地描述您要完成的任務,我們可能會提出一個替代方案。
1
找出您的方法是否被調用的一種方法是使用代碼覆蓋工具。 Visual Studio Ultimate包含這些工具來幫助確定代碼覆蓋率。您首先測試您的代碼,然後運行測試,或者正常運行您的應用程序,然後檢查結果。
或者您也可以使用文本編輯器在源代碼中搜索方法名稱。 (這是迄今爲止最簡單的)。
0
如果您想在程序集中找到程序集的任何其他部分都不會調用的任何方法,那麼FxCop有一個「死代碼」規則,它將查找任何此類方法。
死代碼搜索不包括可以從外部世界調用的方法,例如公共方法。
相關問題
- 1. 有沒有辦法知道異常是否被禁用?
- 2. 有沒有辦法讓對象知道它被添加到DOM?
- 3. 有沒有辦法調用被覆蓋的對象的基類方法? (C++)
- 4. 有沒有辦法知道調用方法?
- 5. 有沒有辦法知道用戶是否喜歡Facebook上的對象?
- 6. 有沒有辦法知道在C++中調用對象的方法的類的名稱?
- 7. 有沒有辦法檢測對象是否被鎖定?
- 8. 有沒有辦法知道Data Saver是否啓用?
- 9. 有沒有辦法知道用戶是否打開郵件?
- 10. 有沒有辦法知道手機是否有通話?
- 11. 有沒有辦法讓linqpad知道一個字段是主鍵?
- 12. 有沒有辦法知道是否已經創建了IWin32Window?
- 13. 有沒有辦法知道ExecutorService是否成功結束?
- 14. 有沒有辦法知道rxjs websocket是否打開
- 15. 有沒有辦法知道Flash Player是否安裝了SWFObject?
- 16. 有沒有辦法檢查beforeSave是否被調用新的Parse對象或更新現有對象?
- 17. 有沒有辦法知道電子郵件是否用C#成功轉發?
- 18. 有沒有辦法檢測通知欄是否已被清除?
- 19. 有沒有辦法知道一個實體是否由NHibernate管理?
- 20. Obj C - 有沒有辦法讓一個方法返回它被調用的方法?
- 21. 有沒有一種方法可以知道誰擁有對象的引用?
- 22. 對象是否可以知道從哪個對象調用其方法?
- 23. 有沒有辦法知道什麼讓對象保持活着C#
- 24. iOS:有沒有辦法知道用戶是否選擇了退出通知?
- 25. 有沒有辦法引用自定義類對象的一個屬性/方法?
- 26. 有沒有辦法知道哪種類型的java對象一旦被反序列化就被髮送了?
- 27. Androguard有沒有辦法確定某個方法是否可以實際調用?
- 28. Objective-C方法沒有被調用
- 29. 有沒有辦法知道一個ftp shell腳本失敗?
- 30. 有沒有辦法讓webpack知道全局是否沒有聲明?
請詳細說明。 – 2010-10-14 08:43:03
我的猜測是OP想要一種類似AOP的方式來添加代碼來確定哪些代碼路徑被執行。 – 2010-10-14 08:48:59
謝謝你的寶貴答案。 其實我的場景很簡單。我正在研究一個現有的項目,它使用以下方法來更改數據庫中的值。 如果該類的屬性爲null,則不要在數據庫中更改此值,以便客戶端只能使用需要更改屬性來初始化該類。但有時某些屬性可能會更改爲空,這種情況在當前的邏輯中將不被支持。 – fresky 2010-10-18 03:31:41