Advertencia del compilador (nivel 1) CS3011

Actualización: noviembre 2007

Mensaje de error

'miembro': únicamente los miembros compatibles con CLS pueden ser abstractos
'member': only CLS-compliant members can be abstract

Un miembro de clase no puede ser al mismo tiempo abstract y no compatible con Common Language Specification (CLS). La especificación CLS determina que se implementarán todos los miembros de clase. Para obtener más información sobre la compatibilidad con CLS, vea Escribir código compatible con CLS y Common Language Specification.

Ejemplo

En el siguiente ejemplo se genera el error CS3011:

// CS3011.cs

using System;


[assembly:CLSCompliant(true)]
public abstract class I
{
    [CLSCompliant(false)]
    public abstract int M();   // CS3011

    // OK
    [CLSCompliant(false)]
    public void M2()
    {
    }
}

public class C : I
{
    public override int M()
    {
        return 1;
    }

    public static void Main()
    {
    }
}