如何创建一个可以存储函数的Dictionary?
谢谢.
我有大约30多个可以从用户执行的功能.我希望能够以这种方式执行该功能:
private void functionName(arg1, arg2, arg3)
{
// code
}
dictionaryName.add("doSomething", functionName);
private void interceptCommand(string command)
{
foreach ( var cmd in dictionaryName )
{
if ( cmd.Key.Equals(command) )
{
cmd.Value.Invoke();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,函数签名并不总是相同,因此具有不同数量的参数.
如何将委托(命名,匿名,lambda)存储在通用列表中?基本上我正在尝试构建一个委托字典,从中我可以使用密钥访问存储的委托并执行它并按需返回值.是否可以在C#4中完成?有什么想法来实现它吗?注意:异类列表更适合存储任何类型的委托.