获取调用方法的参数值

Getting parameter values for calling method

有没有办法在托管代码中做到这一点,或者至少没有严重的性能问题?基本上,我想得到的当然是

public void Method ( int Index, string Name, IPAddress IP, object Arg ) {
  object[] parameterValues = HereGoesMagic.GetParameterValues ( 
    new StackFrame ( 0, false ).GetMethod () 
  );
}

但是,唉,我怀疑这是我一厢情愿的想法。

更新

虽然冒着陷入XY Problem的风险,也许我确实应该寻求建议而不是尝试自己在自行车制造行业再次

问题基本上是我必须编写一堆具有可变参数编号的方法,所有这些方法都将调用具有单个聚合参数的单个方法。像

void MAggregate ( object[] parameters ) {
  <...>
}
void M1 ( int i, string s, DateTime d ) {
  object[] parameters p = ???
  MAggregate ( p );
}
void M2 ( string[] tags, float f ) {
  object[] parameters p = ???
  MAggregate ( p );
}

将一个对象传递给它们解决不了多少问题,因为方法数量和参数差异都非常高。使用复制粘贴...嗯,它是 复制粘贴

更新

以上所有内容都是为了完成一个相对简单的任务:请求各种 REST API 端点,其中包含作为查询字符串传递的大量不同参数。

所需的端点基础 Uri 和查询参数名称在别处确定,并且在调用 M1、M2、...、MAggregate 时已知。

你想要的是开箱即​​用的。您可以将包含所有属性的对象作为参数传递,而不是通过反射获取所有内容。