Errore del compilatore CS1667

Aggiornamento: novembre 2007

Messaggio di errore

L'attributo 'attributo' non è valido in funzioni di accesso alle proprietà o agli eventi. È valido soltanto in dichiarazioni di 'tipo dichiarazione'.
Attribute 'attribute' is not valid on property or event accessors. It is valid on 'declaration type' declarations only.

Questo errore si verifica quando si utilizza un attributo nella funzione di accesso di una proprietà o di un evento, anziché nella proprietà o nell'evento stesso. Il problema può verificarsi con gli attributi CLSCompliantAttribute, ConditionalAttribute e ObsoleteAttribute.

Esempio

Il seguente codice di esempio genera l'errore 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()
    {
    }
}