【发布时间】:2012-10-10 05:13:43
【问题描述】:
我正在尝试创建一个值集合,每个值对应于一个动作。这样,我将能够在集合中搜索特定值,然后以通用方式调用关联的操作。
所以,这是我第一次尝试:
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
}
}
在这种情况下,Commands 集合内的新 CommandInfo 声明给了我错误:
字段初始值设定项不能引用非静态字段、方法或属性“MyNameSpace.MyClass.AbcAction(MyNameSpace.RunArgument)”
肯定有一种方法可以像这样存储对非静态方法的引用。有人可以帮帮我吗?
【问题讨论】: