Error del compilador CS0540

Actualización: noviembre 2007

Mensaje de error

'miembro de interfaz': el tipo contenedor no implementa la interfaz 'interfaz'
'interface member' : containing type does not implement interface 'interface'

Se intentó implementar un miembro de interfaz en una clase que no se deriva de la interfaz. Se debe eliminar la implementación del miembro de interfaz o agregar la interfaz a la lista de clases base de la clase.

Ejemplo

El código siguiente genera el error CS0540.

// CS0540.cs
interface I
{
   void m();
}

public class Clx
{
   void I.m() {}   // CS0540
}

// OK
public class Cly : I
{
   void I.m() {}
   public static void Main() {}
}

El código siguiente genera el error CS0540.

// CS0540_b.cs
using System;
class C {
   void IDisposable.Dispose() {}   // CS0540
}

class D : IDisposable {
   void IDisposable.Dispose() {}
   public void Dispose() {}

   static void Main() {
      using (D d = new D()) {}
   }
}