2012-12-24 25 views
1

在gcc中,當我們指定-Wl,--wrap=function_name時,它將所有對「function_name」的調用替換爲「__wrap_function_name」,並希望用戶爲「__wrap_function_name」提供定義。它將原始方法重命名爲「__real_function_name」。C#編譯器/鏈接器選項:CSC.exe,類似於gcc中的--wrap?

這有助於鉤住源代碼中的任何函數,當然如果需要的話我們可以調用真實的方法。

在C#編譯器/鏈接器中是否有類似的選項? 我想重寫託管的DLL中的一些功能。我有該DLL的源代碼。 我不能使用任何可用的模擬框架,因爲我的方法是內部的和非虛擬的。

回答

0

不,我不知道C#中的任何這樣的特性,或者一般的微軟實現。

如果你已經有源代碼,你能不能適當地改變它?這聽起來像你希望它比它更具擴展性 - 所以添加可擴展性可以吸引你自己。

+0

感謝您的回覆!我不能改變源代碼,因爲我正在爲低級別的API編寫單元測試。我正在執行自己的鉤子並進行選擇性編譯。 – pam