web-dev-qa-db-fra.com

Comment marquer une classe comme obsolète?

Duplicate possible:
Comment marquer une méthode comme obsolète/obsolète? - C #

Comment marquez-vous une classe comme obsolète? Je ne veux plus utiliser de classe dans mon projet, mais je ne veux pas le supprimer avant une période de 2 semaines.

210
Mister Dev

Vous devez utiliser l'attribut [Obsolete].

Ceci est un exemple:

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

Vous n'avez pas de paramètres d'utilisation, ils sont optionnels (méthode surchargée). Le premier paramètre est pour la raison et le dernier consiste à marquer une erreur dans la compilation au lieu d'un avertissement.

377
Patrick Desjardins

Selon la réponse de Doak, mais le deuxième paramètre de l'attribut doit être défini sur false si vous souhaitez que le code soit compilé:

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

Cela ne fera que lancer des avertissements.

40
Rebecca

La raison pour ne pas effacer une classe et déprécier à la place est de respecter certaines "règles de politesse" lorsque votre code est une API établie et est ensuite consommé par des tiers.

Si vous désapprouvez au lieu d'effacer, vous donnez aux clients une politique de cycle de vie (maintenance et existence des classes jusqu'à la version X.X) afin de leur permettre de planifier une migration correcte vers votre nouvelle API.

21
Gabriel