Pregunta ¿Cómo marque un método como obsoleto o desaprobado?


¿Cómo marque un método como obsoleto o obsoleto usando C #?


760


origen


Respuestas:


La forma más corta es agregando el ObsoleteAttribute como un atribuir al método. Asegúrese de incluir una explicación apropiada:

[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 advertencia, si el método se llama desde algún lugar en un código como este:

[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]

1278



Para marcar como obsoleto con una advertencia:

[Obsolete]
private static void SomeMethod()

Recibes una advertencia cuando lo usas:

Obsolete warning is shown

Y con IntelliSense:

Obsolete warning with IntelliSense

Si quieres un mensaje:

[Obsolete("My message")]
private static void SomeMethod()

Aquí está el consejo de la herramienta IntelliSense:

IntelliSense shows the obsolete message

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:

Method usage is displayed as an error

Nota: Use el mensaje para decirle a las personas qué deben usar en su lugar, no por qué es obsoleto.


70



Agregue una anotación al método utilizando la palabra clave Obsoleto. El argumento del mensaje es opcional, pero es una buena idea para comunicar por qué el elemento ahora está obsoleto y / o qué usar en su lugar. Ejemplo:

[System.Obsolete("use myMethodB instead")]
void myMethodA()

52



Con ObsoleteAttribute puedes mostrar el deprecated método. El atributo obsoleto tiene tres constructores:

  1. [Obsolete]: es un constructor sin parámetros y es un predeterminado que usa este atributo.
  2. [Obssolete(string message)]: en este formato puedes obtener message de por qué este método está en desuso.
  3. [Obsolete(string message, bool error)]: en este formato, el mensaje es muy explícito, pero error significa que, en tiempo de compilación, el compilador debe mostrar el error y hacer que falle la compilación o no.

enter image description here


0