Domanda

  

Possibile duplicato:
   Come segnare un metodo come obsoleto / deprecato ? - C #

Come si contrassegna una classe come obsoleta? Non voglio più usare una classe nel mio progetto, ma non voglio cancellarla prima di un periodo di 2 settimane.

È stato utile?

Soluzione

Devi usare l'attributo [Obsolete] .

Questo è un esempio:

[Obsolete("Not used any more", true)]
public class MyDeprecatedClass
{
    //...
}

Non hai parametri di utilizzo, sono opzionali (metodo sovraccarico). Il primo parametro è per il motivo e l'ultimo è quello di contrassegnare un errore in fase di compilazione anziché un avviso.

Altri suggerimenti

Secondo la risposta di Doak, ma il secondo parametro dell'attributo dovrebbe essere impostato su false se si desidera compilare il codice:

[Obsolete("Not used any more", false)]
public class MyDeprecatedClass
{
        //...
}

Questo genererà solo avvisi.

La ragione per non cancellare una classe e deprecare invece è aderire ad alcune "politiche di cortesia". quando il tuo codice è un'API stabilita e quindi viene utilizzato da terze parti.

Se deprechi invece di cancellare, dai ai consumatori una politica del ciclo di vita (ad es. manutenzione ed esistenza delle classi fino alla versione X.X) per consentire loro di pianificare una corretta migrazione alla tua nuova API.

Se stai usando il controllo versione, ti consiglio di eliminare la classe. Non c'è motivo di avere un codice inutilizzato in giro.

Il controllo della versione sarà un utile annullamento se in seguito decidi di volere la classe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top