Vì vậy, tôi phải thiết kế một lớp hoạt động trên một tập hợp các đối tượng được ghép nối. Có một ánh xạ một-một giữa các đối tượng. Tôi mong rằng khách hàng của lớp đã thiết lập bản đồ này trước khi sử dụng lớp của tôi.Cách trực quan nhất để yêu cầu đối tượng theo cặp là gì?
Câu hỏi của tôi là cách tốt nhất để cho phép người dùng lớp học của tôi cung cấp cho tôi thông tin đó là gì?
Có phải yêu cầu một bộ sưu tập các cặp như thế này không?
MyClass(IEnumerable<KeyValuePair<Object, Object>> objects)
Hoặc các bộ sưu tập riêng biệt như thế này?
MyClass(IEnumberable<Object> x, IEnumerable<Object> y)
Hoặc có tùy chọn khác không?
Tôi thích người đầu tiên vì mối quan hệ rõ ràng, tôi không thích nó vì công việc bổ sung mà nó đặt lên máy khách.
Tôi thích thứ hai vì các loại nguyên thủy hơn và yêu cầu ít công việc hơn, tôi không thích nó vì ánh xạ không rõ ràng. Tôi phải thừa nhận thứ tự là chính xác.
Ý kiến xin vui lòng?
Tôi thích là người đầu tiên với cùng lý do, mối quan hệ là rõ ràng. Vì KeyValuePair là phổ biến trong toàn bộ khuôn khổ, tôi không thấy có bất kỳ "công việc bổ sung" nào Một nhược điểm có thể có là KeyValuePair infers rằng T2 bằng cách nào đó được khóa bởi T1, nếu mối quan hệ giữa chúng là nhiều hơn, bạn có thể cuộn loại của riêng bạn (ví dụ: Pair ). –
Tergiver