Error del compilador CS0466

Actualización: noviembre 2007

Mensaje de error

'method1' no debe tener un parámetro params, ya que 'method2' no lo tiene
'method1' should not have a params parameter since 'method2' does not

No se puede utilizar el parámetro params en un miembro de clase si la interfaz implementada no lo utiliza.

Ejemplo

El código siguiente genera el error CS0466.

// CS0466.cs
interface I
{
   void F1(params int[] a);
   void F2(int[] a);
}

class C : I
{
   void I.F1(params int[] a) {}
   void I.F2(params int[] a) {}   // CS0466
   void I.F2(int[] a) {}   // OK

   public static void Main()
   {
      I i = (I) new C();

      i.F1(new int[] {1, 2} );
      i.F2(new int[] {1, 2} );
   }
}