2012-04-07 32 views
7

Trong Scala, bạn có thể sử dụng chú thích @BeanProperty để tự động tạo các getters và setters cho một trường.Cách tạo chú thích tùy chỉnh như BeanProperty

Tôi làm cách nào để tạo chú thích của riêng mình hoạt động như vậy?

Tôi quan tâm đến việc tạo chú thích làm thay đổi mã nguồn, như @BeanProperty.

Ví dụ: làm cách nào để tạo chú thích chỉ tạo các phương thức nhận?

Cảm ơn.

Trả lời

9

Hai từ: compiler plugin. Nó không phải là dễ dàng, và tài liệu là thưa thớt, nhưng đó là một cách để làm điều đó.

Phiên bản tương lai của Scala có thể sẽ có macro support, mang lại cho bạn nhiều tính linh hoạt tương tự.

+0

Tôi nghĩ chú thích là thứ dễ tích hợp hơn, nhưng không có nguồn nào trên lớp BeanProperty. Tôi sẽ đợi hỗ trợ macro, có khả năng sẽ hoạt động trơn tru hơn các trình biên dịch (mà tôi không thể sử dụng do một số hạn chế). Cảm ơn rất nhiều. –

+0

@ViniciusSeufitele - vâng, 'BeanProperty' chỉ là một chú giải; đó là trình biên dịch thực hiện công việc tạo ra các phương thức bổ sung. – leedm777

+2

Bây giờ chúng tôi có macro, chúng tôi có thể có câu trả lời được cập nhật không? :)) – Edmondo1984

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