Hôm qua tôi nghĩ sẽ tốt hơn nếu triển khai Trigger của riêng tôi trong một ứng dụng WPF. Tôi đã tạo một lớp MyTrigger kế thừa TriggerBase. TriggerBase là một lớp trừu tượng công khai. Vì vậy, thừa kế không phải là một vấn đề. Nhưng các nhà xây dựng bên trong lớp này được đánh dấu nội bộ. Trình biên dịch ném một lỗi vì không có hàm tạo hợp lệ. Tại sao bất cứ ai tạo ra một lớp học công cộng nhưng đánh dấu các nhà thầu như nội bộ?constructor nội bộ
Trả lời
Nếu bạn muốn lớp hiển thị, nhưng chỉ cho phép lớp đó được phân loại trong hội đồng của riêng bạn. Các lớp con có thể có các hằng số công khai - hoặc chúng có thể được truy cập với một nhà máy.
Tôi không thể bình luận về việc đó là một quyết định thiết kế tốt cho TriggerBase trong WPF, nhưng ít nhất là hợp lý trong một số trường hợp.
Một lý do mà tôi có thể nghĩ là việc tạo ra thực tế các cá thể mới sẽ được xử lý bởi một lớp công khai khác trong cùng một hội đồng. Điều này sẽ buộc bạn tạo ra cá thể thông qua lớp khác này - có thể là một số kiểu triển khai thực hiện mẫu nhà máy.
Công khai vì nó được sử dụng làm lớp cơ sở cho trình kích hoạt đi kèm với WPF (Trình kích hoạt, MultiTrigger, EventTrigger, DataTrigger, v.v ...). Nó không được công khai sau đó bạn sẽ không thể gắn cờ các lớp này là công khai.
Các nhà xây dựng là nội bộ bởi vì họ không có ý định để bạn sử dụng nó cho mình. Tôi đoán bạn đang giả sử bắt nguồn từ một trong các lớp được đề cập ở trên.
- 1. Lâu đài Windsor nội Constructor/Lớp
- 2. Có cách nào để xác định nơi T: new() hạn chế nhưng với constructor nội bộ?
- 3. Constructor trong Bộ điều khiển Symfony2
- 4. Bộ điều khiển Parameterless Constructor Autofac
- 5. gì một constructor cộng đồng về một lớp học nội nghĩa
- 6. Cấp phát bộ nhớ trên stack mà không gọi constructor
- 7. C# Instance Constructor vs Static Constructor
- 8. CodeIgniter Controller Constructor
- 9. kiểm tra lớp nội bộ
- 10. được bảo vệ nội bộ
- 11. Lỗi Máy chủ Nội bộ
- 12. Bộ lặp Iterator vs Bộ lặp nội bộ
- 13. F # Constructor
- 14. Ẩn constructor
- 15. Bộ chọn khung nội tuyến khung nội tuyến jquery
- 16. Chức năng nội tuyến có liên kết nội bộ?
- 17. Instantiating một constructor với các thông số trong một lớp học nội với sự phản ánh
- 18. Constructor tĩnh & Singleton class
- 19. sao chép toàn bộ thư mục có nội dung từ nội dung sang tệp ứng dụng nội bộ/
- 20. Lưu tập tin nội bộ trong thư mục nội bộ của riêng tôi trong Android
- 21. Lẫn lộn: nội bộ, bảo vệ và bảo vệ nội bộ
- 22. phương thức công cộng so với nội bộ trên một lớp nội bộ
- 23. Sử dụng cả bộ mã hóa nội tại SSE2 và bộ mã hóa nội tuyến gcc
- 24. Tại sao nội bộ được bảo vệ không hạn chế hơn nội bộ?
- 25. Java: lớp xây dựng tổng hợp nội bộ riêng tư
- 26. Lỗi trong System.Random constructor?
- 27. Interface Loại Constructor
- 28. MEF Constructor Injection
- 29. C++ bè constructor
- 30. Đại biểu Constructor C++