Y at-il une annotation dans .NET qui permet aux méthodes ou classes à dépréciés pour que leur utilisation et leurs appelants sont identifiés par le compilateur (cf @deprecated en Java)quel est l'équivalent .NET de @Deprecated dans java?
12
A
Répondre
43
L'attribut [Obsolete]
.
Vous pouvez ajouter un commentaire sur ce que les gens devraient utiliser, par exemple:
[Obsolete("Use NewMethod() instead")]
public void OldMethod()
{
}
Si vous voulez générer une erreur de compilation lorsque les gens utilisent votre méthode:
[Obsolete("Use NewMethod() instead", true)]
public void OldMethod()
{
}
C'est un exemple pour une méthode, mais il peut être utilisé sur presque n'importe quelle cible d'attribut. Voir here pour les documents complets.
Puisque la question a été légèrement modifiée, je vais ajouter la syntaxe VB.NET ainsi, pour couvrir les plus courantes langages .NET:
<Obsolete("Use NewMethod() instead")> _
Public Sub OldMethod()
End Sub
9
[Obsolete] - voir la documentation here dessus. Ajouter ceci à une méthode ou classe donnera un avertissement de compilateur si quelqu'un essaye de l'employer, avec le message personnalisé que vous donnez à l'attribut si nécessaire
Questions connexes
- 1. Quel est l'équivalent d'une applet Java dans .NET?
- 2. Quel est l'équivalent .Net des Dynamic Proxies de Java?
- 3. Quel est l'équivalent de "ByteBuffer.flip" & "ByteBuffer.slice" dans .NET?
- 4. Quel est l'avenir de Java 3D?
- 5. Quel est l'équivalent de l'objet d'application java?
- 6. Quel est l'équivalent C# de Java DecimalFormat?
- 7. Quel est l'équivalent Java de webmin?
- 8. Quel est l'équivalent "urllib2" de python dans dot net?
- 9. Quel est le répertoire 'obj' pour .NET?
- 10. Quel est le meilleur serveur de messagerie pour communiquer sur java et .net?
- 11. Quel est le meilleur réseau IRC pour Java (#java)?
- 12. Quel est l'équivalent de l'énumération de Java en C#?
- 13. Quel est l'équivalent de AbstractMap de Java en C#?
- 14. Quel est l'équivalent VB des instanceof et isInstance() de Java?
- 15. Quel est le surcoût de mémoire d'une méthode Java?
- 16. Quel est l'équivalent .NET de CreateEnhMetaFile et PlayEnhMetaFile?
- 17. Quel est l'équivalent de IntPtr (C#) en Java?
- 18. Quel est l'équivalent Ruby pour StringReader de Java?
- 19. Quel est l'équivalent C# de static {...} en Java?
- 20. Quel est l'espace de tas Java maximum pour SuSE Linux
- 21. Quel est le C# équivalent à isInstance() de Java?
- 22. Quel .Net Timer() utiliser
- 23. Utilisation de Java Webservice dans .NET
- 24. Quel est le but des méthodes asynchrones? (.NET)
- 25. Quel est le format (schéma) des fichiers .NET PDB?
- 26. Quel est l'équivalent de TreeBidiMap en C#?
- 27. Quel est le point derrière les intersections de classes de caractères dans Java Regex?
- 28. Quel est l'équivalent de Thread.sleep() de Java dans Objective-C/Cocoa?
- 29. Quel est l'équivalent de XMLHTTP de VB6 dans C# .Net 2005?
- 30. Comment savoir sur quel lecteur une application Java est installée?
+1 pour l'erreur de compilateur –
Je suppose que c'est un avertissement de compilateur, si vous voulez une erreur suffit de supprimer la fonction. – thelem
Non, c'est une erreur de compilation. Ce n'est pas la même chose que de supprimer la méthode, car les logiciels compilés avec une ancienne version de l'assembly en question continueront à fonctionner avec la nouvelle version de l'assembly. – Thorarin