委托没有参数

时间:2011-11-29 11:28:10

标签: c# delegates

我正在尝试在我的MenuTreeItems列表中找到一个类别为Category的MenuTreeItem,并拥有一个提供的categoryID。

不幸的是,我收到一条错误消息:

  

错误1找不到类型或命名空间名称“mti”(是吗?   缺少using指令或程序集引用?)

我使用Visual Studio 2008和C#以及.Net Framework 3.5。

int mtiIndex = menuTreeItems.FindIndex(delegate (MenuTreeItem mti) {
                    return (typeof(mti) == dummyCat.GetType()) && (mti.id == menuTreeItems[i].categoryID);
               });

3 个答案:

答案 0 :(得分:4)

您要么mti.GetType()要么typeof(MenuTreeItem)

答案 1 :(得分:2)

int mtiIndex = menuTreeItems.FindIndex((MenuTreeItem mti) =>
  {return (mti.GetType() == dummyCat.GetType()) && (mti.id == menuTreeItems[i].categoryID);});

答案 2 :(得分:1)

我想在mti上调用GetType()。像这样:

mtiIndex = menuTreeItems.FindIndex(delegate (MenuTreeItem mti){ 
    return (mti.GetType() == dummyCat.GetType()) && 
      (mti.id == menuTreeItems[i].categoryID);  
  });