6
public class Demo
{
public void When(Func<Person, bool> condition)
{
if (!condition)
{
Log.Info("Condition not met.");
return;
}
// Do something
}
}
在When
方法中,我想記錄謂詞或Func<bool>
何時返回false。然而,只記錄「條件不符合」並不能提供很多信息。如果我打電話,像這樣的方法:記錄拉姆達表達式
demo.When(x => x.Name == "John");
有沒有辦法給表達式轉換成日誌記錄可讀/有意義的字符串?
同意@Kirk Woll如下。假設你不想改變你的方法簽名,你可能是SOL。見相關:http://stackoverflow.com/questions/767733/converting-a-net-funct-to-a-net-expressionfunct。 – 2012-03-29 18:25:32