Error del compilador CS0736

Actualización: noviembre 2007

Mensaje de error

'nombre de tipo' no implementa el miembro de interfaz 'nombre de miembro'. 'nombre de método' no puede implementar un miembro de interfaz porque es estático.
'type name' does not implement interface member 'member name'. 'method name' cannot implement an interface member because it is static.

Este error se genera cuando un método estático se declara implícita o explícitamente como implementación de un miembro de interfaz.

Para corregir este error

  • Quite el modificador static de la declaración del método.

  • Cambie el nombre del método de interfaz.

  • Vuelva a definir el tipo contenedor para que no herede de la interfaz.

Ejemplo

El código siguiente genera el error CS0736 porque Program.testMethod se declara como estático:

// cs0736.cs
namespace CS0736
{   

    interface ITest
    {
        int testMethod(int x);
    }

    class Program : ITest // CS0736
    {
        public static int testMethod(int x) { return 0; }
        // Try the following line instead.
        // public int testMethod(int x) { return 0; }
        public static void Main() { }
    }    
}

Vea también

Referencia

Interfaces (Guía de programación de C#)