lowerkey
lowerkey

Reputation: 8335

delegate doesn't get parameter

I'm trying to find a MenuTreeItem in my list of MenuTreeItems that is of the type Category and possesses a supplied categoryID.

Unfortunately, I get an error message:

Error 1 The type or namespace name 'mti' could not be found (are you missing a using directive or an assembly reference?)

I use Visual Studio 2008 and C# and the .Net Framework 3.5.

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

Upvotes: 0

Views: 91

Answers (3)

Russell Troywest
Russell Troywest

Reputation: 8776

You want to call GetType() on mti I think. Like this:

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

Upvotes: 1

idm
idm

Reputation: 1748

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

Upvotes: 2

dumdum
dumdum

Reputation: 868

you either want mti.GetType() or typeof(MenuTreeItem)

Upvotes: 4

Related Questions