¿Cómo marco un método como obsoleto o en desuso con C # ?
[EditorBrowsable(EditorBrowsableState.Never)]
( stackoverflow.com/a/9086345/661933 ). Tiene un propósito ligeramente diferente.
¿Cómo marco un método como obsoleto o en desuso con C # ?
[EditorBrowsable(EditorBrowsableState.Never)]
( stackoverflow.com/a/9086345/661933 ). Tiene un propósito ligeramente diferente.
Respuestas:
La forma más corta es mediante la adición de ObsoleteAttribute
como un 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 puede hacer que la compilación falle, tratando el uso del método como un error en lugar de una advertencia , si se llama al método desde algún lugar del 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 la 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 un error:
[Obsolete("My message", true)]
private static void SomeMethod()
Cuando se usa esto es lo que obtienes:
Nota: Use el mensaje para decirle a la gente qué deberían usar, no por qué es obsoleto.
Con ObsoleteAttribute
usted puede mostrar el método obsoleto. El atributo 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 sabermessage
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 tiempo de compilación, el compilador debe mostrar un error y hacer que la compilación falle o no.