2012-02-29 21 views
24

Tôi muốn đánh dấu một thuộc tính trong Delphi là không dùng nữa để xóa sau này. Theo tài liệu Delphi không được chấp nhận có thể được gắn vào bất kỳ khai báo nào, nhưng nó không hoạt động đối với các thuộc tính. Có cách nào để làm việc này không?Tôi làm cách nào để đánh dấu thuộc tính là không được dùng trong delphi?

Đây là những gì tôi đã cố gắng:

property SomeProp: string 
    read FSomeProp 
    write SetSomeProp; deprecated 'Use SomeOtherProp instead'; 
+0

Là một sang một bên, nếu nó được hỗ trợ, tôi nghĩ rằng dấu chấm phẩy sẽ không có ở đó (tất cả các trường hợp được hỗ trợ). –

+1

Một điều thú vị khác: nếu trường không được chấp nhận ('FValue: Integer deprecated;'), nó có thể được sử dụng bởi thuộc tính _without_ tạo ra một cảnh báo: Ví dụ: 'property Value: Integer đọc FValue viết FValue;' <- Không cảnh báo !! (Ít nhất là trong D2007.) –

Trả lời

24

Không, đây là không thể. Theo the documentation,

Các 'gợi ý' chỉ thị nền tảng, phảnthư viện có thể nối vào bất kỳ tuyên bố. Các chỉ thị này sẽ đưa ra cảnh báo tại thời gian biên dịch. Chỉ thị gợi ý có thể được áp dụng cho khai báo kiểu, khai báo biến, lớp, giao diện và khai báo cấu trúc, khai báo trường trong các lớp hoặc bản ghi, thủ tục, hàm và khai báo phương thức và khai báo đơn vị.

+0

Chết tiệt, tôi sợ rằng đây là trường hợp. Tôi không cho rằng có một giải pháp tốt cho việc này? – Trellmor

+3

@Tellmor: Ý tưởng đầu tiên của tôi là bạn có thể đánh dấu setter (nếu có, trong trường hợp này là 'SetSomeProp') không được chấp nhận. –

+2

Thật không may điều này không tạo ra một gợi ý trình biên dịch khi thuộc tính được sử dụng. – Trellmor

Các vấn đề liên quan