Запись лямбда-выражений в журнал

public class Demo
{       
    public void When(Func<Person, bool> condition)
    {
        if (!condition)
        {
            Log.Info("Condition not met.");
            return;
        }

        // Do something
    }
}

В методе Whenя хотел бы регистрировать, когда предикат или Funcвозвращает false. Однако просто регистрация «условие не выполнено» не дает мне много информации. Если я вызову метод следующим образом:

demo.When(x => x.Name == "John");

Есть ли способ преобразовать это выражение в удобочитаемую/содержательную строку для протоколирования?

8
задан nivlam 29 March 2012 в 18:13
поделиться