Hỗn hợp chính xác là gì?
Có bất kỳ kỹ thuật nào để đạt được điều đó trong C# không?Hỗn hợp và .net
Trả lời
Tôi không có chuyên gia, nhưng đây là những gì tôi tìm thấy.
Từ MSDN Blog:
Một số người cho rằng phương pháp khuyến nông trong sắp tới C# 3.0 là một loại mixins, bởi vì bạn có thể đưa vào chức năng trong các phương pháp và tùy tiện tag nó vào bất kỳ lớp học mà bạn muốn. Trong đặc điểm kỹ thuật C# 2.0 phần 20.1.3 nó được gọi rõ ràng là rằng lớp cơ sở của lớp chung là phải là lớp được xây dựng do đó quy tắc này sử dụng phương pháp trên để sử dụng trong C#. Tôi không phải là quá chắc chắn về lý do chúng tôi chọn một cách rõ ràng không cho phép lớp con trừu tượng. Vì C# không hỗ trợ đa thừa kế, IMO nên đã hỗ trợ mã hóa kiểu Mixin.
Hỗn hợp là tập hợp các thành viên lớp có thể được "trộn" vào một lớp mà không gặp sự cố đa thừa kế.
C# không có kết hợp mỗi lần, nhưng cung cấp Phương thức mở rộng cho các mục tiêu tương tự.
Mặc dù không hoàn toàn là mixin. Có dễ dàng để xem ví dụ trong bất kỳ ngôn ngữ giả hay thực? –
@NoProblemBabe: Ví dụ, Ruby cung cấp hỗn hợp 'Enumerable' có thể trộn vào các lớp được liệt kê để mở rộng lớp với các phương thức lọc, ánh xạ và sắp xếp. C# /. NET có lớp 'Enumerable' tĩnh cung cấp các phương thức mở rộng để lọc, ánh xạ và sắp xếp các lớp được liệt kê (" LINQ "). – dtb
giao diện công cộng IEmailItem { chuỗi SendToName {get; bộ; } chuỗi SendToAddress {get; bộ; } } sau đó một phương thức mở rộng SendMail (IEmailItem m này) {một số mã thực sự ở đây} mọi lớp triển khai giao diện IEmailItem sẽ "kế thừa" phương thức gửi thư – eloycm
Vui lòng kiểm tra re-mix on codeplex.com. Nó là một thư viện mã nguồn mở để mang mixin đến .NET
Ở đó bạn sẽ có hướng dẫn từng bước về cách triển khai mixin với liên kết .NET
- 1. .NET Profiler miễn phí cho mã hỗn hợp .NET 4.0
- 2. Cách JsDoc loại "hỗn hợp"?
- 3. Bảng PDF dạng hỗn hợp
- 4. Mảng hỗn hợp WSDL SOAP
- 5. Khóa chính hỗn hợp PostgreSQL
- 6. WCF Xác thực hỗn hợp Tên người dùng và WIndows
- 7. Tập lệnh shell và python hỗn hợp có thể?
- 8. Nội dung hỗn hợp và thao tác chuỗi xóa sạch
- 9. Sắp xếp các số và chuỗi hỗn hợp
- 10. Đường hỗn hợp và phân tán trong ggplot
- 11. ASP.NET MVC và xác thực chế độ hỗn hợp
- 12. Tìm tất cả trên, dưới và hỗn hợp kết hợp trường hợp của một chuỗi
- 13. Mảng hỗn hợp của các cấu trúc từ .NET đến C++: khi nào nó sao chép?
- 14. Lắp ráp chế độ hỗn hợp là gì?
- 15. Đậu Java: Mảng hỗn hợp quá mức?
- 16. PostgreSQL: cách trả về kiểu hỗn hợp
- 17. Loại tệp hỗn hợp với CarrierWave
- 18. Loại hỗn hợp trong C là gì?
- 19. Nút nội dung hỗn hợp XSLT
- 20. lme4 lỗi mô hình hỗn hợp
- 21. Làm cách nào để nhận chuỗi ngẫu nhiên có dấu cách và trường hợp hỗn hợp?
- 22. NSRangeException trong UITableViewController với nội dung động/tĩnh hỗn hợp
- 23. Git - xử lý tên tệp mã hóa hỗn hợp
- 24. Nhập tệp CSV với các loại dữ liệu hỗn hợp
- 25. Môi trường web dev ngôn ngữ hỗn hợp
- 26. Tự động triển khai giải pháp SSIS/DLL hỗn hợp
- 27. Phím hỗn hợp/khóa chính/duy nhất với Django
- 28. Gỡ lỗi mã Python/C++ hỗn hợp trong Eclipse
- 29. Hỗn hợp Sass/Compass CSS3 không hoạt động
- 30. Tạo hỗn hợp (giá trị được đặt) CPPDEFINES trong SCON
Wikipedia nếu bạn không biết gì giống như tôi: http: // vi.wikipedia.org/wiki/Mixin – Rup