过时的属性不会在VS2010中引起任何编译器警告

时间:2010-05-25 07:39:12

标签: c# visual-studio-2010 obsolete

我正在使用Visual Studio 2010.但是发现Obsolete属性不会导致任何编译器警告(我希望它导致编译器警告)。 警告级别为4。

感谢。

1 个答案:

答案 0 :(得分:14)

当您尝试使用标有它的类/方法时,obsolete attribute将导致编译器警告。例如,以下内容会导致警告:

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

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

虽然没有:

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

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