2009-02-07 37 views

回答

5

您必須找到所有可執行成員(方法,屬性,事件,構造函數)並調用MethodInfo.GetMethodBody來獲取原始IL。然後解析該IL並查找對屬性的訪問。不要忘記獲取基類中聲明的虛方法。

祝你好運 - 6個月見!說真的,這並不容易,聽起來像是一個不尋常的要求。這裏的大圖是什麼?

如果您不需要在執行時執行此操作,但只想查看依賴關係,則可能會發現NDepend將對您有所幫助。 (嘿,也許NDepend公開了一個API,您可以在執行時使用它 - 值得檢查,我想。)

+0

@喬恩 - 大局觀在MS的ORM框架類型CRM。儘管我們會在運行時要求信息,但靜態分析將會很好。我會調查ndepend,謝謝你的提示。我會在不到6個月的時間內回覆我的發現!)。提供 – 2009-02-07 08:38:12

0

你可以使用StackFrame和StackTrace類來做到這一點,但這通常被認爲是不好的做法。

0

該解決方案涉及代碼的靜態分析 - 本質上我們正在尋找B類型的依賴關係。開箱即用的.Net反射API只能帶你到目前爲止,不得不求助於解析IL - 正如喬恩在下面指出的那樣,這不能掉以輕心。這些問題的答案在下面,導致一對夫婦庫,可以幫助,我將調查他們兩個:

相關問題