¿Cómo marcar un método como obsoleto o obsoleto?
¿Cómo marco un método como obsoleto o obsoleto usando C#?
La forma más corta es agregando ObsoleteAttribute
como atributo al método . Asegúrese de incluir una explicación adecuada:
[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{ … }
También puedes hacer que la compilación falle, tratando el uso del método como un error en lugar de una advertencia , si el método se llama desde algún lugar de un código como este:
[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]
Para marcar como obsoleto con una advertencia:
[Obsolete]
private static void SomeMethod()
Recibes una advertencia cuando lo usas:
Y con IntelliSense:
Si quieres un mensaje:
[Obsolete("My message")]
private static void SomeMethod()
Aquí está la información sobre herramientas de IntelliSense:
Finalmente, si desea que el uso se marque como error:
[Obsolete("My message", true)]
private static void SomeMethod()
Cuando se usa esto es lo que obtienes:
Nota: Utilice el mensaje para decirle a la gente qué deberían usar en su lugar, no por qué está obsoleto.
Con ObsoleteAttribute
puede marcar un método como obsoleto. Tiene tres constructores:
[Obsolete]:
es un constructor sin parámetros y es un valor predeterminado que utiliza este atributo.[Obsolete(string message)]:
en este formato puede obtener informaciónmessage
sobre por qué este método está en desuso.[Obsolete(string message, bool error)]:
en este formato, el mensaje es muy explícito peroerror
significa que, en el momento de la compilación, el compilador debe mostrar un error y provocar que la compilación falle o no.