2012-07-03 42 views
5

Tôi muốn liệt kê các phương thức của một lớp trong một mixin.Liệt kê các phương thức của một lớp trough mixin

Để làm điều đó, tôi cho rằng tôi phải mở tệp chứa mã nguồn trong mixin, nhưng việc tìm kiếm tên tệp đó khó hơn tôi nghĩ.

tôi đã cố gắng sử dụng

__FILE__ 

nhưng nó mang lại cho tập tin khai báo mixin của ... vì vậy tôi sẽ phải xác định các mixin trong mỗi tập tin ... mà không thực hiện bất kỳ ý nghĩa kể từ khi mục tiêu là để giảm mã boilerplate.

Bây giờ giải pháp của tôi là chuyển tên tệp làm đối số bên trong hàm tạo của lớp và gọi hàm mixin từ đó. Vì tôi sẽ làm điều đó trong tất cả các lớp thừa hưởng từ cùng một lớp cha, tôi lý tưởng muốn đặt nó trong hàm tạo của lớp cha và đăng ký các phương thức của lớp con.

Có cách nào tốt hơn để thực hiện việc này không? Bất cứ điều gì có thể tìm kiếm lớp học cho các phương pháp mà không cần phải mở tệp?

+1

@Peter Câu trả lời của Alexander [ở đây] (http://stackoverflow.com/a/10962900/744588) dường như được quan tâm. – menjaraz

+1

Tương tự đối với @ CyberShadow trong [bài đăng] này (http://stackoverflow.com/a/7496918/744588). – menjaraz

Trả lời

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