views:

104

answers:

1

Hi, I'm using Visual Studio 2010. But find that the Obsolete attribute doesn't cause any compiler warning (I want it to cause a compiler warning). The warning level is 4.

Thanks.

+8  A: 

The obsolete attribute will cause a compiler warning when you try to use the class/method that's marked with it. For example the following causes a warning:

[Obsolete("some obsolete message")]
class Foo { }

class Program
{
    static void Main(string[] args)
    {
        Foo foo = new Foo();
    }
}

while this doesn't:

[Obsolete("some obsolete message")]
class Foo { }

class Program
{
    static void Main(string[] args)
    { }
}
Darin Dimitrov