Obsolete (Guía de programación de C#)
Actualización: noviembre 2007
El atributo Obsolete marca una entidad del programa como si su uso ya no estuviera recomendado. Cada uso de una entidad marcada obsoleta generará en consecuencia una advertencia o un error, dependiendo de la configuración del atributo. Por ejemplo:
[System.Obsolete("use class B")]
class A
{
public void Method() { }
}
class B
{
[System.Obsolete("use NewMethod", true)]
public void OldMethod() { }
public void NewMethod() { }
}
En este ejemplo, el atributo Obsolete se aplica a la clase A y al método B.OldMethod. Como el segundo argumento del constructor del atributo aplicado a B.OldMethod se establece en true, este método generará un error de compilación, mientras que el uso de la clase A sólo generará una advertencia. Sin embargo, llamar a B.NewMethod no genera ninguna advertencia o error.
La cadena proporcionada como primer argumento al constructor de atributos se mostrará como parte de la advertencia o error. Por ejemplo, cuando lo use con las definiciones anteriores, el código siguiente genera dos advertencias y un error:
// 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();
Se generan dos advertencias para la clase A: uno para la declaración de la referencia de clase y otro para el constructor de clase.
El atributo Obsolete se puede utilizar sin argumentos, pero incluyendo una explicación del motivo por el que el elemento está obsoleto y una recomendación sobre qué utilizar en su lugar.
El atributo Obsolete es un atributo de uso único y se puede aplicar a cualquier entidad que permite el uso de atributos. Obsolete es un alias para ObsoleteAttribute.
Vea también
Conceptos
Referencia
Reflexión (Guía de programación de C#)
Atributos (Guía de programación de C#)
Eliminar la ambigüedad de los destinos de atributos (Guía de programación de C#)
Crear atributos personalizados (Guía de programación de C#)
Acceso a atributos mediante reflexión (Guía de programación de C#)