Error del compilador CS1667

Actualización: noviembre 2007

Mensaje de error

El atributo 'atributo' no es válido en descriptores de acceso de propiedades o eventos. Sólo es válido en declaraciones 'tipo de declaración'.
Attribute 'attribute' is not valid on property or event accessors. It is valid on 'declaration type' declarations only.

Este error se produce si se utiliza un atributo en un descriptor de acceso de una propiedad o un evento, cuando debería estar en la propiedad o el evento propiamente dichos. Este error puede producirse con los atributos siguientes: CLSCompliantAttribute, ConditionalAttribute y ObsoleteAttribute.

Ejemplo

El código siguiente genera el error CS1670:

// CS1667.cs
using System;

public class C
{
    private int i;

    //Try this instead:
    //[Obsolete]
    public int ObsoleteProperty
    {
        [Obsolete]  // CS1667
        get { return i; }
        set { i = value; }
    }

    public static void Main()
    {
    }
}