Tôi đã có một MenuManager lớp mà mỗi mô-đun có thể thêm một chìa khóa và và yếu tố để được nạp vào các nội dung chính:Bộ sưu tập C# tốt nhất với hai phím và một đối tượng là gì?
private Dictionary<string,object> _mainContentItems = new Dictionary<string,object>();
public Dictionary<string,object> MainContentItems
{
get { return _mainContentItems; }
set { _mainContentItems = value; }
}
Vì vậy, các mô-đun khách hàng đăng ký quan điểm của mình như thế này:
layoutManager.MainContentViews.Add("customer-help", this.container.Resolve<HelpView>());
layoutManager.MainContentViews.Add("customer-main", this.container.Resolve<MainView>());
Vì vậy, sau đó để mang lại một cái nhìn cụ thể vào phía trước tôi nói:
layoutManager.ShowMainContentView("customer-help");
Và để có được những chế độ xem mặc định (xem lần đầu tiên đã đăng ký), tôi nói:
layoutManager.ShowDefaultView("customer");
Và điều này hoạt động tốt.
Tuy nhiên, tôi muốn loại bỏ các "mã mùi" với gạch nối mà tách tên mô-đun và xem tên, vì vậy tôi muốn đăng ký với lệnh này:
layoutManager.MainContentViews.Add("customer","help", this.container.Resolve<HelpView>());
Nhưng những gì là cách tốt nhất để thay thế từ điển hiện tại của tôi, ví dụ những gì nói đến cái tâm là những:
Dictionary<string, string, object> (doesn't exist)
Dictionary<KeyValuePair<string,string>, object>
Dictionary<CUSTOM_STRUCT, object>
Các bộ sưu tập mới cần có khả năng để làm điều này:
- được một cái nhìn với khóa mô-đun và chế độ xem (ví dụ: "khách hàng", "trợ giúp" trả về 1 chế độ xem)
- lấy một bộ sưu tập tất cả các chế độ xem theo khóa mô-đun (ví dụ: "khách hàng" trả về 5 lượt xem)
Elegant sử dụng. – Will
hoạt động tốt, cảm ơn. –
Nếu chỉ có tôi đã thấy thêm một var ở đó ... – nawfal