2009-08-06 30 views

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 
+0

+1 cho lỗi biên dịch –

+0

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

+0

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

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