Có chú thích trong .NET không cho phép các phương thức hoặc lớp không được sử dụng để người dùng của họ và người gọi của họ được nhận dạng bởi trình biên dịch (cf @Deprecated in Java)tương đương .NET của @Deprecated trong java là gì?
12
A
Trả lời
43
Thuộc tính [Obsolete]
.
Bạn có thể thêm một chút về những gì mọi người nên sử dụng, ví dụ:
[Obsolete("Use NewMethod() instead")]
public void OldMethod()
{
}
Nếu bạn muốn tạo ra một lỗi biên dịch khi người ta sử dụng phương pháp của bạn:
[Obsolete("Use NewMethod() instead", true)]
public void OldMethod()
{
}
Đây là một ví dụ cho một phương pháp, nhưng nó có thể được sử dụng trên hầu như bất kỳ mục tiêu thuộc tính nào. Xem here để xem tài liệu đầy đủ.
Kể từ khi câu hỏi đã được chỉnh sửa một chút, tôi sẽ thêm cú pháp VB.NET là tốt, để trang trải các ngôn ngữ .NET phổ biến nhất:
<Obsolete("Use NewMethod() instead")> _
Public Sub OldMethod()
End Sub
9
[Obsolete] - xem here cho tài liệu trên đó. Việc thêm phương thức này vào một phương thức hoặc lớp sẽ đưa ra cảnh báo trình biên dịch nếu có ai đó cố gắng sử dụng nó, với thông điệp tùy chỉnh mà bạn cung cấp cho thuộc tính nếu cần
Các vấn đề liên quan
- 1. Tương đương .NET của NumberFormatException của Java là gì?
- 2. Tương đương java của AggregateException từ .net là gì?
- 3. Tương đương .NET của JMX là gì?
- 4. Tương đương với InfiniteIterator của PHP trong .NET là gì?
- 5. tương đương C# tĩnh của {...} trong Java là gì?
- 6. Tương đương với System.out.println() của Java trong Javascript là gì?
- 7. .NET tương đương với List.subList của Java()?
- 8. Java Tương đương với DateTime.Parse của .NET?
- 9. Tương đương. Net của các proxy động của Java là gì?
- 10. Tương đương với JPA trong .NET là gì?
- 11. Scala tương đương với ClassName.class của Java là gì?
- 12. Tương đương với Ruby cho StringReader của Java là gì?
- 13. Tương đương Java của đối tượng Scala là gì?
- 14. Java tương đương với MEF trong .NET
- 15. Tương đương Java của thuộc tính Python() là gì?
- 16. Tương đương với System.nanoTime() trong .NET là gì?
- 17. Tương đương .NET của dòng lệnh java là gì: gc command line
- 18. Scala tương đương với khối tĩnh của Java là gì?
- 19. Tương đương C# của Java DecimalFormat là gì?
- 20. Tương đương java với String.fromCharCode của javascript là gì?
- 21. Tương đương Smalltalk của tĩnh Java là gì?
- 22. C# tương đương với isInstance của Java() là gì?
- 23. String.Format (.NET) tương đương trong Java?
- 24. Tương đương với C# /. NET của BufferedInputStream (bằng Java) là gì?
- 25. .NET Equivalent của InterruptedException (Java) là gì?
- 26. Tương đương .NET của StrCmpLogicalW
- 27. Tương đương với lớp Java BigDecimal trong C# là gì?
- 28. Chức năng 'nth_element' tương đương trong Java là gì?
- 29. Clojure tương đương với Overriding "bằng" trong java là gì?
- 30. .NET 4.5 tương đương với UserNameWSTrustBinding là gì?
+1 cho lỗi biên dịch –
Tôi cho rằng đó là cảnh báo trình biên dịch, nếu bạn muốn một lỗi chỉ xóa chức năng. – thelem
Không, đó là lỗi trình biên dịch. Nó không giống như xóa phương thức, bởi vì phần mềm được biên dịch dựa vào phiên bản cũ của assembly đang được hỏi sẽ tiếp tục làm việc với phiên bản mới của assembly. – Thorarin