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