說我有一個方法:有沒有辦法獲得傳遞給方法的參數數組?
public void SomeMethod(String p1, String p2, int p3)
{
#if DEBUG
object[] args = GetArguments();
LogParamaters(args);
#endif
// Do Normal stuff in the method
}
有沒有一種方法來檢索傳遞到方法的參數數組,這樣他們可以記錄?
我有大量的方法,並希望避免手動名傳遞參數記錄器,因爲人爲錯誤將不可避免地在蠕動
我猜這將涉及某種形式的反思 - 這沒問題,因爲它只會用於調試目的。
更新
多一點信息:
我不能改變的someMethod的方法簽名,因爲它是暴露一個WebMethod和具有複製遺留系統被仿冒。
遺留系統已經記錄了傳入的參數。要開始使用新的實現將包裝遺留系統,所以我期待記錄參數進入C#版本,以便我可以驗證正確的參數以正確的順序傳入。
我只是在尋找記錄參數值和順序,而不是他們的名字。
有關參數的信息存儲在日誌中?類型,名稱,價值? – devnull 2010-07-20 09:36:55
這意味着你真的在討論_arguments_,而不是_parameters_。 [(例如,參見這裏的關於差異的解釋。)](http://msdn.microsoft.com/en-us/library/9kewt1b3%28VS.80%29.aspx) – stakx 2010-07-20 10:00:31
@stax,是的區別是有意義的。我正在尋找傳遞給方法的參數值。 – 2010-07-20 10:05:35