我想要一个函数来修改一些变量的参数列表,但它们都是值类型(int,string)。有一种方法可以使 params 关键字与 ref 关键字或类似的关键字一起使用吗?
public void funcParams(params object[] list)
{
/* Make something here to change 'a', 'b' and 'c' */
}
public void testParams()
{
int a = 1, b = 2, c = 3;
funcParams(a, b, c);
}
问题是,我试图让我的生活更轻松,制作一种修改对象字段的方法。我正在使用 Cecil 进行一些动态代码生成,并且试图避免编写过多的 IL 生成代码。
为了简化,我想通过引用传递字段列表,我需要更改为更改它们的函数,而不是通过生成相应的 IL 来更改它们。一些参数可以为空,使代码生成更加痛苦。在这种情况下,制作一些重载方法而不是参数不会有太大用处。