通过params数组传递给另一种方法

时间:2013-09-02 10:36:44

标签: c# arrays params

我最终得到了两个程序,它们具有非常相似的参数和相同的功能,其参数如下:

   private string BuildResponse(string value1, string value2, params string[] parameters)
   private string BuildResponse(MyObject values, params string[] parameters)

在这种情况下,MyObject有两个属性; value1value2。我最初尝试按如下方式实现第二个:

   private string BuildResponse(MyObject values, params string[] parameters) {
       return BuildResponse (values.value1, values.value2, parameters);
   }

不幸的是,编译器发出了与best overloaded method match for ...相关的警告 - 即我不能简单地通过parameters(这是string[])。

那么 - 如何将string[]传递给签名以params变量结尾的方法?

(我现在用另一种集合类型替换params string[]而不是过去时,但是知道我试图做的事情是否可能会很有趣。如果它不是' t,随意说“不”并提供参考资料)

1 个答案:

答案 0 :(得分:3)

这应该有效。问题很可能是value1value2不属于string类型。 params数组不是问题。