C # - как передать параметр out в лямбда-выражение

У меня есть метод со следующей сигнатурой:

private PropertyInfo getPropertyForDBField(string dbField, out string prettyName)

В нем я нахожу связанное значение prettyName на основе заданного dbField . Затем я хочу найти все свойства, если таковые имеются, с именем prettyName , поэтому я m пытается сделать следующее:

IEnumerable<PropertyInfo> matchingProperties =
    getLocalProperties().Where(prop =>
        prop.Name.Equals(prettyName)
    );

Однако это дает следующую ошибку:

Невозможно использовать параметр ref или out 'prettyName' внутри анонимного метода, лямбда-выражения или выражения запроса

По точке в методе где я пытаюсь использовать prettyName в , где лямбда-параметр , prettyName определенно инициализируется. Я возвращаю , если prettyName не может быть инициализировано допустимым значением. Могу ли я сделать здесь какой-нибудь трюк, чтобы позволить мне использовать prettyName в лямбда-выражении?

Изменить: Я использую .NET 3.5, если это важно.

12
задан Sarah Vessels 28 October 2010 в 18:01
поделиться