Errore del compilatore CS0466

Aggiornamento: novembre 2007

Messaggio di errore

"method1" non deve contenere un parametro params perché "method2" non ne dispone
'method1' should not have a params parameter since 'method2' does not

Non è possibile utilizzare il parametro params in un membro di classe se l'interfaccia implementata non lo utilizza.

Esempio

Nell'esempio riportato di seguito viene generato l'errore 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} );
   }
}