Если вы застряли в C # 2.0, используйте анонимный метод - просто немного более грубое лямбда-выражение (игнорируя деревья выражений):
List<testObject> objectList = new List<testObject>();
int desiredGroupLevel = 10;
objectList.FindAll(delegate (testObject item)
{
return item._groupLevel == desiredGroupLevel;
});
Или вы можете по-прежнему использовать вызов метода для начала:
List<testObject> objectList = new List<testObject>();
int desiredGroupLevel = 10;
objectList.FindAll(CheckGroupLevel(desiredGroupLevel));
...
public Predicate<testItem> CheckGroupLevel(int level)
{
return delegate (testItem item)
{
return item._groupLevel == level;
};
}
Если вы используете Visual Studio 2008, но нацелен на .NET 2.0, вы все равно можете использовать лямбда-выражение. Это просто трюк компилятора, который не требует поддержки фреймворка (опять же, игнорируя деревья выражений).