C'è un'annotazione NET che consente metodi o classi per essere obsolete modo che il loro utilizzo e loro chiamanti sono identificati dal compilatore (cf @deprecated in Java)qual è l'equivalente .NET di @Deprecated in java?
12
A
risposta
43
L'attributo [Obsolete]
.
È possibile aggiungere un commento su quello che la gente dovrebbe essere utilizzando, ad esempio:
[Obsolete("Use NewMethod() instead")]
public void OldMethod()
{
}
Se si desidera generare un errore di compilazione quando le persone usano il metodo:
[Obsolete("Use NewMethod() instead", true)]
public void OldMethod()
{
}
Questo è un esempio per un metodo, ma può essere utilizzato su quasi tutti gli obiettivi degli attributi. Vedi here per i documenti completi.
Dato che la questione è stata modificata leggermente, aggiungerò la sintassi VB.NET pure, per coprire i linguaggi .NET più comuni:
<Obsolete("Use NewMethod() instead")> _
Public Sub OldMethod()
End Sub
9
[obsoleto] - vedi here per la documentazione su di essa. Aggiungendo questo a un metodo o una classe verrà visualizzato un avviso del compilatore se qualcuno tenta di utilizzarlo, con il messaggio personalizzato assegnato all'elemento se necessario
Problemi correlati
- 1. Java: De-deprecated-Tools
- 2. Cosa è il contrario di @deprecated in java
- 3. Qual è l'equivalente .NET di StringBuffer in Java?
- 4. Qual è l'equivalente C# /. NET di BufferedInputStream (in Java)?
- 5. Qual è l'equivalente .NET di NumberFormatException di Java?
- 6. Deprecated: Function eregi() è sconsigliata in
- 7. Qual è equivalente a .NET di InterruptedException (Java)?
- 8. Qual è l'equivalente java di AggregateException da .net?
- 9. Qual è l'uso di Invoke() in .net?
- 10. Qual è l'equivalente di JPA in .NET?
- 11. Qual è l'equivalente di System.nanoTime() in .NET?
- 12. MKPolylineView initWithPolyLine: is deprecated in iOS 7
- 13. Perché RetentionPolicy per @deprecated è RUNTIME?
- 14. setTextAppearance deprecated in API di livello 23
- 15. Qual è l'attributo 'CLSCompliant' in .NET?
- 16. Qual è l'uso dell'interfaccia IClonable in .NET?
- 17. dismissModalViewControllerAnimated is deprecated
- 18. Qual è l'uso di hashcode in Java?
- 19. Qual è l'equivalente .NET di JMX?
- 20. Django {{MEDIA_URL}} vuoto @DEPRECATED
- 21. BitmapDrawable deprecated alternative
- 22. Qual è l'equivalente di InfiniteIterator di PHP in .NET?
- 23. Qual è il concetto di un assieme in .NET?
- 24. Qual è lo scopo di Decimal.One, Decimal.Zero, Decimal.MinusOne in .Net
- 25. Qual è l'intestazione di un array in .NET
- 26. DatatypeContexts Deprecated in Latest GHC: Why?
- 27. Qual è l'equivalente Java di C# "Contesto logico di chiamata"
- 28. Qual è l'equivalente di java di ManualResetEvent?
- 29. Thread.interrupt() in Java: qual è il punto?
- 30. JSDoc @param insieme a @deprecated
+1 per l'errore del compilatore –
Presumo che sia un avviso del compilatore, se si desidera un errore cancella semplicemente la funzione. – thelem
No, si tratta di un errore del compilatore. Non è la stessa cosa dell'eliminazione del metodo, perché il software compilato su una versione precedente dell'assembly in questione continuerà a funzionare con la nuova versione dell'assembly. – Thorarin