我想通过ref 将一些参数传递给方法,但我不知道参数的数量。
我尝试过类似的东西,但它不起作用:D:
public void myMethod(ref params object args)
我会考虑在params中传递指针,但它在C#:/
中有点复杂可能的解决方法?
编辑:
我想封装一部分代码,基本上是这样的:
...
var collectionA = new List<string>();
var myObject = // an object
Optimizer.Optimize(ref collectionA, ref myObject); // cache
//{
MaClass.Treatment(); // use collectionA stored in cache via Optimizer
// the collectionA is modified in MaClass.Treatment()
...
//}
Optimizer.EndOptimize();
...
目标,如果调用封装到我的优化器中,则无法一直请求我的服务器进行相同的处理(HTTPRequest)
答案 0 :(得分:2)
不,那是不可能的。但是,通过改变方法中的数组,然后只需在调用站点读取数组中的值,就可以得到很多:
var args = new[] {x, y, z}
obj.myMethod(args);
x = args[0];
y = args[1];
z = args[2];
(可以简单地推广到仅在运行时知道的许多参数)