C#方法词典的匿名集合初始化器

  • 本文关键字:集合 初始化 方法 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

为什么字典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;

也可以工作。

最新更新