Compiler Error CS1667

Attribute 'attribute' is not valid on property or event accessors. It is valid on 'declaration type' declarations only.

This error occurs if you use an attribute on a property or event accessor, when it should be on the property or event itself. This error could occur with the attributes CLSCompliantAttribute, ConditionalAttribute, and ObsoleteAttribute.

Example

The following sample generates 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()
    {
    }
}