我希望有一个函数,可以修改一些变量列表的参数,但它们都是值类型(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来更改它们。其中一些参数是可为空的,这使得代码生成变得更加痛苦。在这种情况下,制作一些重载方法而不是使用params关键字可能没有太多用处。