Comment marquer une méthode comme obsolètes ou obsolète?
comment marquer une méthode comme obsolète ou dépréciée en utilisant C#?
4 réponses
le plus court chemin est d'ajouter l'attribut ObsoleteAttribute
comme un à la méthode . Assurez-vous d'inclure une explication appropriée:
[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{ … }
vous pouvez aussi faire échouer la compilation, en traitant l'utilisation de la méthode comme une erreur au lieu d'un avertissement, si la méthode est appelée de quelque part dans le code comme ceci:
[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]
pour marquer comme obsolète avec un avertissement:
[Obsolete]
private static void SomeMethod()
vous recevez un avertissement lorsque vous l'utilisez:
et avec IntelliSense:
si vous voulez un message:
[Obsolete("My message")]
private static void SomeMethod()
voici le Conseil de L'outil IntelliSense:
Enfin, si vous voulez que l'usage soit signalé comme une erreur:
[Obsolete("My message", true)]
private static void SomeMethod()
c'est ce que vous obtenez:
Note: utilisez le message pour dire aux gens ce qu'ils devraient utiliser à la place, pas pourquoi il est obsolète.
ajouter une annotation à la méthode en utilisant le mot-clé Obsolete
. L'argument de Message est facultatif mais une bonne idée pour communiquer pourquoi l'élément est maintenant obsolète et / ou ce qu'il faut utiliser à la place.
Exemple:
[System.Obsolete("use myMethodB instead")]
void myMethodA()
avec ObsoleteAttribute
vous pouvez montrer la méthode deprecated
.
Obsolete attribut a trois constructeur:
[Obsolete]:
est un constructeur sans paramètre et est un constructeur par défaut utilisant cet attribut.[Obssolete(string message)]:
dans ce format vous pouvez obtenirmessage
de pourquoi cette méthode est dépréciée.[Obsolete(string message, bool error)]:
dans ce format, le message est très explicite, maiserror
signifie temps de compilation, le compilateur doit montrer l'erreur et faire échouer la compilation ou non.