方法字典的{C#匿名集合初始值设定项

时间:2017-09-22 17:56:43

标签: c#

尝试创建一个存储方法的字典,这些方法在Windows窗体中创建东西等等。

该方法不带参数,并返回所有已创建项目的字典。

Dictionary<string, Func<Dictionary<string, dynamic>>> games = new 
Dictionary<string, Func<Dictionary<string, dynamic>>>()
{
    { "Buttoncatch", //I dont know what to write here
        {
           var objects = new Dictionary<string, dynamic>
           return objects;
        }
    }
};

我不想这样做:

public Dictionary<string, dynamic> Buttoncatch()
{

}
games["Buttoncatch"] = Buttoncatch //dont even know what to write here, 
problems of self teaching

1 个答案:

答案 0 :(得分:0)

为什么字典dynamic的值类型可以是Func<Dictionary<string,dynamic>>

这些方法可以创建为普通的lambdas:

Dictionary<string, Func<Dictionary<string,dynamic>>> games = new     
Dictionary<string, Func<Dictionary<string, dynamic>>>
{
   {"Buttoncatch", 
    () => {
             var objects = new Dictionary<string, dynamic>
             return objects;
          }
   }
};

当你以这种方式声明字典时,行

games["Buttoncatch"] = Buttoncatch;

也会奏效。