Question Comment marquer une méthode comme obsolète ou obsolète?


Comment marquer une méthode comme obsolète ou obsolète en utilisant C #?


760


origine


Réponses:


Le plus court chemin consiste à ajouter ObsoleteAttribute en tant que attribuer à la méthode. Assurez-vous d'inclure une explication appropriée:

[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{ … }

Vous pouvez également provoquer l'échec de la compilation, en traitant l'utilisation de la méthode comme une erreur plutôt que comme un avertissement, si la méthode est appelée quelque part dans le code comme ceci:

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

1278



Pour marquer comme obsolète avec un avertissement:

[Obsolete]
private static void SomeMethod()

Vous recevez un avertissement lorsque vous l'utilisez:

Obsolete warning is shown

Et avec IntelliSense:

Obsolete warning with IntelliSense

Si vous voulez un message:

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

Voici l'info-bulle IntelliSense:

IntelliSense shows the obsolete message

Enfin si vous voulez que l'utilisation soit marquée comme une erreur:

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

Lorsqu'il est utilisé, voici ce que vous obtenez:

Method usage is displayed as an error

Remarque: Utilisez le message pour dire aux gens ce qu'ils doivent utiliser à la place, et non pourquoi il est obsolète.


70



Ajoutez une annotation à la méthode en utilisant le mot-clé Obsolète. L'argument du message est facultatif mais c'est une bonne idée de communiquer pourquoi l'objet est maintenant obsolète et / ou quoi utiliser à la place. Exemple:

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

52



Avec ObsoleteAttribute vous pouvez montrer le deprecated méthode. L'attribut obsolète a trois constructeurs:

  1. [Obsolete]: est un constructeur sans paramètre et est un défaut utilisant cet attribut.
  2. [Obssolete(string message)]: dans ce format, vous pouvez obtenir message de pourquoi cette méthode est obsolète.
  3. [Obsolete(string message, bool error)]: dans ce format, le message est très explicite mais error signifie, au moment de la compilation, le compilateur doit montrer l'erreur et provoquer l'échec de la compilation ou non.

enter image description here


0