目前我使用的方法根据从提供的密钥获得的字符串比较返回ICommand对象。
public ICommand getCommand(string mCommand)
{
foreach (object obj in objCommandList)
{
ICommand command = (ICommand)obj;
if (command.m_strCommandName == mCommand)
{
return command;
}
}
return null;
}
其中 objCommandList包含ICommand对象。
现在我想改进我的代码,或者尝试在集合中搜索替代方法,即在集合中检索过滤对象时使用 Predicate 委托等选项。
即。
objCommandList.Find(Predicate syntax which is needed here...)
任何人都可以帮助我。
答案 0 :(得分:0)
您可以尝试这样的事情:
objCommandList.Find(delegate(Icommand command) { return command.m_strCommandName == mCommand; });
或
objCommandList.Find(c => c.m_strCommandName == mCommand);