小弟想标识一个函数,存储在Dictionary中,需要的时候根据key直接取拿出来用,请问各位大神。C#中有没有这种用法???
------解决思路----------------------
将函数转换成Delegate就行了
Dictionary<string, Delegate>
如果函数有统一的形式,比如void x();,则可以转换成Action
Dictionary<string, Action> d;
d.Add("xxx", new Action(x));
d["xxx"]();
------解决思路----------------------
using System;
using System.Collections.Generic;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var dic = new Dictionary<int, Action>
{
[0] = Action1,
[1] = Action2
};
foreach (var item in dic.Values)
{
item();
}
}
static void Action1() => Console.WriteLine(1);
static void Action2() => Console.WriteLine(2);
}
}