Partilhar via


Obsoleto (guia de programação translation from VPE for Csharp)

The Obsolete atributo marca uma entidade sistema autônomo um programa não é mais recomendado para uso. Cada uso de uma entidade marcado como obsoleto, em seguida, irá gerar um aviso ou erro, dependendo de como o atributo está configurado.Por exemplo:

[System.Obsolete("use class B")]
class A
{
    public void Method() { }
}
class B
{
    [System.Obsolete("use NewMethod", true)]
    public void OldMethod()  { }
    public void NewMethod()  { }
}

Neste exemplo o Obsolete atributo é aplicado à classe A e ao método B.OldMethod. Porque o segundo argumento do construtor de atributo aplicadas a B.OldMethod é definido como true, este método causará um erro de compilador, enquanto a classe A apenas produzirá um aviso. De chamadaB.NewMethod, no entanto, não produz nenhum aviso ou erro.

A seqüência de caracteres fornecida sistema autônomo o primeiro argumento para o construtor de atributo será exibida sistema autônomo parte do aviso ou erro.Por exemplo, ao usá-lo com as definições anteriores, o código a seguir gera um erro e dois avisos:

// Generates 2 warnings:
A a = new A();
// Generate no errors or warnings:
B b = new B();
b.NewMethod();
// Generates an error, terminating compilation:
b.OldMethod();

Dois avisos para classe A são geradas: uma para a declaração da classe de referência e outra para o construtor da classe.

The Obsolete atributo pode ser usado sem argumentos, mas incluindo uma explicação do motivo pelo qual o item está obsoleto e o que usar em vez disso, é recomendado.

The Obsolete atributo é um atributo de uso único e pode ser aplicado a qualquer entidade que permite que os atributos. Obsolete é um alias para ObsoleteAttribute.

Consulte também

Conceitos

Guia de Programação C#

Referência

Reflexo (guia de programação C#) 

Atributos (guia de programação C#)

Destinos de atributo disambiguating (guia de programação translation from VPE for Csharp)

Criando atributos personalizados (guia de programação translation from VPE for Csharp)

Acessando atributos com reflexo (C# programação guia)

Attribute

System.Reflection