【发布时间】:2016-09-05 05:26:48
【问题描述】:
我想用条件表达式来选择 lambda 表达式,像这样:
xxxx.UsingFactory(
hasProofing? ( ()=>new ProofingA() ) : ( () => new ProofingB() )
);
但是,它显示了错误。那么,如果我想做这件事,我该怎么做。
错误详情:
“lambda 表达式”和“lambda”之间没有隐式转换 表达'
【问题讨论】:
-
show me errors .. 如果您说明这些错误,这将非常有帮助。另外,显示
UsingFactory的签名,它接受什么作为参数?ProofingA和ProofingB是否继承自同一个对象? -
从同一个界面实现
-
另外,
xxx.UsingFactory()的参数是什么?可能它不采取没有参数的动作?试试x=>new ProfingA() -
@v11 你的方法接受
Func<iThatComonInterface>还是接受什么?只是一个Action?
标签: c#