小编Dav*_*son的帖子

有没有办法获取传递给方法的参数数组?

说我有一个方法:

 public void SomeMethod(String p1, String p2, int p3)
 {

 #if DEBUG
    object[] args = GetArguments();
    LogParamaters(args);
 #endif

     // Do Normal stuff in the method
 }
Run Code Online (Sandbox Code Playgroud)

有没有办法检索传递给方法的参数数组,以便记录它们?

我有大量的方法,并希望避免手动将名称传递给记录器,因为人为错误将不可避免地蔓延.

我猜它会以某种形式涉及反射 - 这很好,因为它只会用于调试目的.

更新

更多信息:

我无法更改SomeMethod的方法签名,因为它作为WebMethod公开,并且必须复制它模拟的遗留系统.

遗留系统已经记录了传入的参数.从新实现开始将包装遗留系统,所以我希望记录进入C#版本的参数,以便我可以验证正确的参数是否传入按正确的顺序.

我只是想记录参数值和顺序,而不是它们的名字.

c# reflection methods arguments

26
推荐指数
3
解决办法
1万
查看次数

标签 统计

arguments ×1

c# ×1

methods ×1

reflection ×1