【发布时间】:2019-01-04 13:49:14
【问题描述】:
在以下代码中,我有 2 个 if 块。
A、对象为null时第一次返回错误。
B,第二个将尝试发送对象,如果失败则返回并出错。只有不是A,对象不为null才应该执行。
private bool SendToERP(Foo foo, out string error)
{
error = "";
var ticketIn = TicketFromFoo(foo, out string err);
if(ticketIn == null)
{
error = err;
return false;
}
if ( !GenericERP_TicketSubmit(ticketIn, out err))
{
error = err;
return false;
}
return true;
}
这些条件之后的操作是相同的,我想重构为一个唯一的if 块。
由于我无法扭曲我的头 2 条件和 and,我写了一个 simple truth table 来帮助我。但这对我没有帮助。
【问题讨论】:
-
我知道这是微不足道的但我错过了一步,我不知道在哪里。
-
所以如果一个条件为真或另一个条件为真,您想执行一些操作?
-
好吧,我想我在 null/not null 和真值表中的 b 不正确这一事实之间迷路了。或者是星期五。
标签: c# if-statement conditional refactoring