A params parameter list or the __arglist parameter must not have any following arguments
The params keyword must be the last parameter declared for a method.
The following sample generates CS0231:
using System; public class MyClass { public static void UseParams(int AnInt, params int[] list, int i) { // CS0231 // try the following line instead // public static void UseParams(int AnInt, params int[] list) { for ( int i = 0 ; i < list.Length ; i++ ) Console.WriteLine(list[i]); Console.WriteLine(); } public static void UseArglist(int AnInt, char AChar, __arglist) { Console.WriteLine(AnInt); Console.WriteLine(AChar); ArgIterator ai = new ArgIterator(__arglist); while (ai.GetRemainingCount() > 0) Console.WriteLine(__refvalue(ai.GetNextArg(), int)); } public static void Main() { UseParams(1, 2, 3); UseArglist(20, 'b', __arglist(1, 2, 3)); } }