无法转换表达式类型';lambda表达式';返回类型bool

无法转换表达式类型';lambda表达式';返回类型bool,lambda,c#-3.0,expression,messaging,Lambda,C# 3.0,Expression,Messaging,在测试中尝试使用以下内容时,我不断收到此消息 无法将表达式类型“lambda expression”转换为返回类型bool 问题发生在线路上 //x.Send(IsObjectMessageOf(m=>weLikeIt)) [测试] 当用户添加注释()时,应发送注释消息 { Event currentEvent=SampleEventBuilder.PopulatedByNextId() .NewState() .BuildDomain(); _repository.Setup(x=>x.Fin

在测试中尝试使用以下内容时,我不断收到此消息

无法将表达式类型“lambda expression”转换为返回类型bool

问题发生在线路上

//x.Send(IsObjectMessageOf(m=>weLikeIt))

[测试]
当用户添加注释()时,应发送注释消息
{
Event currentEvent=SampleEventBuilder.PopulatedByNextId()
.NewState()
.BuildDomain();
_repository.Setup(x=>x.FindByEventId(It.IsAny())
.返回(当前事件);
var eventComment=AddComment.Create(currentEvent.Key,currentEvent.Id,“comment”,Time.Now,“client”,Guid.NewGuid());
_handler.Consume(eventComment);
Func-weLikeIt=ec=>ec.EventId==currentEvent.Id;
_发送者。验证(x=>
{
x、 发送(IsObjectMessageOf(m=>weLikeIt));//炸弹在这里!
});
}
私有静态对象消息IsObjectMessageOf(函数匹配器)
{
返回它.Is(m=>m.Body是T&&matcher((T)m.Body));
}

此处不需要lambda:

x.Send(IsObjectMessageOf<EventComment>(m => weLikeIt));
x.Send(IsObjectMessageOf(m=>weLikeIt));
您只需要传递一个Func:

x.Send(IsObjectMessageOf<EventComment>(weLikeIt);
x.Send(IsObjectMessageOf(weLikeIt);
x.Send(IsObjectMessageOf<EventComment>(weLikeIt);