我正在尝试创建一个值集合,每个值对应于一个动作。这样,我将能够在集合中搜索特定值,然后以通用方式调用关联的操作。
所以,这是我的第一次尝试:
public class CommandInfo
{
public string Name { get; set; }
public Action<RunArgument> Action { get; set; }
}
public class MyClass
{
public List<CommandInfo> Commands = new List<CommandInfo>
{
new CommandInfo { Name = "abc", Action = AbcAction } // <== ERROR HERE
};
public void AbcAction(RunArgument arg)
{
; // Do something useful here
}
}
CommandInfo
在这种情况下,Commands
集合中 new 的声明给了我错误:
字段初始值设定项不能引用非静态字段、方法或属性“MyNameSpace.MyClass.AbcAction(MyNameSpace.RunArgument)”
当然,必须有一种方法来存储对像这样的非静态方法的引用。有人可以帮我吗?