【发布时间】:2015-01-20 02:51:17
【问题描述】:
我想知道为什么以下行的行为不正确。当我使用 IIF 时,虽然当条件为 True 时,函数返回 getMessage
Return CType(IIf(Object.Equals(_newValue, _oldValue),
msg, GetMessage(msg)), PooMessage)
但以下几行表现得很好:
If Object.Equals(_newValue, _oldValue) Then
Return msg
Else
Return CType(GetMessage(msg), PooMessage)
End If
【问题讨论】:
-
@roryap 因为我使用 IIF,虽然当条件为 True 时,函数返回 getMessage
-
@Mathemats 你是什么意思
-
@Afflatus 您正在将返回的对象与 msg 进行比较,然后在失败时调用 GetMessage。尝试:返回 CType(IIf(Object.Equals(_newValue, _oldValue), msg, GetMessage(msg), PooMessage))
-
@Mathemats 你的那一行甚至无法编译!
-
IIf() vs. If 的可能重复项