我们正在进行项目,我们已经完成了很多版本(SVN)和很多人的工作。我们的客户提出了一个问题,我们已经在某天修复了代码。所以我想弄清楚,如果我们在客户端站点发送了正确的版本。在检查了很多东西之后,我发现在客户端反转代码以查看实际代码是最容易的。所以我使用Reflector做到了。
VB.Net代码,
Case RequestState.FirstComplete 'RequestState.FirstComplete = 2
Request.Time = Now
If ErrorCode = ProcessErrors.NONE OrElse ProcessErrors.SUBSCRIBER_BUSY_FOR_MT_SMS Then
'OrElse ErrorCode = ProcessErrors.EQUIPMENT_PROTOCOL_ERROR
NextStep(Id, GetDPC(id), NUMBER)
反向代码,
case 2:
{
request.Time = DateAndTime.Now;
if (errorCode == 0)
{
}
NextStep(invokeId, ref GetDPC(id), ref NUMBER);
}
现在我无法理解这种过度简化。怎么来,
If ErrorCode = ProcessErrors.NONE OrElse ProcessErrors.SUBSCRIBER_BUSY_FOR_MT_SMS Then
变为
if (errorCode == 0)
{
}
答案 0 :(得分:4)
因为您的原始代码不正确。
应该是
If ErrorCode = ProcessErrors.NONE OrElse ErrorCode = ProcessErrors.SUBSCRIBER_BUSY_FOR_MT_SMS Then
^^^^^^^^^^^^
您无法使用OrElse
来测试某个值(ErrorCode
)是否其他两个值中的一个。