或者说在不知道参数名的情况下就可以获取参数值,这样可以不加修改地把代码拷贝到任意函数中。

解决方案 »

  1.   

    没看懂~~~
    程序里的函数可以用params~~
      

  2.   

    是指System.Reflection.MethodInfo.GetCurrentMethod()吗?但里面好像不能获取参数的值啊。
      

  3.   

    sorry,楼主我也不明白你的意思
      

  4.   

    例如说有两个个函数
    void f1(int a, string b)
    void f2(char c, double d, int e)
    有没有可能实现这样一段代码:把这段代码放在f1中时,它能获取a和b的值并存到一个ArrayList中;而如果把代码放到f2中,它能获取c、d、e的值并存到ArrayList中。
      

  5.   

    ContextBoundObject。不过使用这类太浪费。我希望使用Emit或者CodeDom将源代码重写,可惜深感难度太大。此时当然需要 System.Reflection.MethodInfo.GetGenericArguments(而不是 GetCurrentMethod)。
      

  6.   

    sorry!写错了。是 GetParameters。
      

  7.   

    GetParameters只能得到参数的名称,不能得到它的值吧?
      

  8.   

    不想要强类型把所有的函数都改成Method( params object[] )就行了。
      

  9.   

    我可没有说要得到参数的值。我可是说“使用Emit或者CodeDom将源代码重写”。