我希望我的 LayoutManager 类的用户能够这样写:
LayoutManager layoutManager = new LayoutManager();
layoutManager.AddMainContentView("customers", "intro",
new View { Title = "Customers Intro", Content = "This is customers intro." });
但是在下面的 AddMainContentView() 中的字典中,我需要用什么语法来填充这个字典?
public class LayoutManager
{
private Dictionary<string, Dictionary<string, object>> _mainContentViews = new Dictionary<string, Dictionary<string, object>>();
public Dictionary<string, Dictionary<string, object>> MainContentViews
{
get { return _mainContentViews; }
set { _mainContentViews = value; }
}
public void AddMainContentView(string moduleKey, string viewKey, object view)
{
//_mainContentViews.Add(moduleKey, new Dictionary<string, object>(viewKey, view));
//_mainContentViews.Add(moduleKey, viewKey, view);
_mainContentViews.Add(moduleKey, ???);
}
...
}
最佳答案
public void AddMainContentView(string moduleKey, string viewKey, object view)
{
Dictionary<string, object> viewDict = null;
if (!MainContentViews.TryGetValue(moduleKey, out viewDict)) {
viewDict = new Dictionary<string, object>();
MainContentViews.Add(moduleKey, viewDict);
}
if (viewDict.ContainsKey(viewKey)) {
viewDict[viewKey] = view;
} else {
viewDict.Add(viewKey, view);
}
}
关于c# - 如何将项目添加到 Dictionary<string, Dictionary<string, object>>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1172692/