有没有一种好方法可以创建动态数量的参数,例如:
public ??? Tuple<string,?????> returnProperTuple(int NumberOfArgs)
{// if/case
if(NumberOfArgs == 2)
return new Tuple<string, string>();
...
if(NumberOfArgs == 4)
return new Tuple<string, string, string, string>();
...
}
您不能根据需要拥有未知数量的参数,因为编译器需要知道有关您正在传递的内容以及如何将调用链接到特定方法签名的某些信息。
如果您需要可变数量的参数,则应改用某种集合。 或者,如果您希望参数类型在某种程度上是动态的或匿名的,那么您可以使用object
类型,它基本上可以是您想要的任何内容。
例如:
public IList returnProper(int NumberOfArgs)
public Dictionary<string, object> returnProper(int NumberOfArgs)
public object returnProper(int NumberOfArgs)
public Tuple<string, object> returnProper(int NumberOfArgs)