在VB.NET中使用.Condition选项

在VB.NET中使用.Condition选项,vb.net,automapper,Vb.net,Automapper,谁能告诉我正确的VB.NET语法来完成以下任务: .ForAllMembers(opt => opt.Condition(src => src.Value != "removeMe")) 这是我得到的最好的结果,但我在最后一条语句中得到了一个设计时错误,该语句的内容是“属性访问必须分配给属性或使用它的值” .ForAllMembers(函数(opt)opt.Condition(Sub(src As OrganizationMetric)src.Value“removeMe”))

谁能告诉我正确的VB.NET语法来完成以下任务:

.ForAllMembers(opt => opt.Condition(src => src.Value != "removeMe"))
这是我得到的最好的结果,但我在最后一条语句中得到了一个设计时错误,该语句的内容是“属性访问必须分配给属性或使用它的值”

.ForAllMembers(函数(opt)opt.Condition(Sub(src As OrganizationMetric)src.Value“removeMe”))
提前谢谢

更新:

这是最后一段有效的代码,必须切换我的函数()和Sub():

.ForAllMembers(Sub(opt)opt.Condition(Function(src As OrganizationMetric)src.Value“removeMe”))
.ForAllMembers(函数(opt)opt.Condition(函数(src)src.Value“removeMe”))

本例中的表达式“opt.Condition(…)”会产生错误“表达式不产生值”。它也不能将src识别为IntelliSense中的正确类型。Condition()使用的参数类型为“System.Func”,而不是“System.Action”,这就是我为什么选择Sub而不是Function的原因。@Ben对于System.Func,您应该使用Function或Sub。它是
System.Func(属于OrganizationMetric,Boolean)
?好的,但它仍然会产生我上面提到的错误:“表达式不产生值”。是的,这是第二个签名。第一个签名是
System.Func(属于Automapper.ResolutionContext,Boolean)
,这就是我在代码中声明类型的原因。你能发布
for allmembers()
Condition()
的签名吗?
.ForAllMembers(Function(opt) opt.Condition(Sub(src As OrganizationMetric) src.Value <> "removeMe"))
.ForAllMembers(Sub(opt) opt.Condition(Function(src As OrganizationMetric) src.Value <> "removeMe"))
.ForAllMembers(Function(opt) opt.Condition(Function(src) src.Value <> "removeMe"))