【发布时间】:2011-07-24 15:50:38
【问题描述】:
当我单步执行以下代码时,第二行的report 为空。
但是,第三行会生成 NullReferenceException。
member this.setTaggedResearchReportList (index : int) (taggedResearchReport : TaggedResearchReportUIVO option) =
let report = Option.get(taggedResearchReport)
if not(report.Equals(null)) then
// do some stuff here
为什么会这样,我能做些什么来避免它?谢谢!
稍后添加:
这是调用this.setTaggedResearchReportList的行:
getMostRecentTaggedResearchReportForSecurityId (item.id) (new Action<_>(this.setTaggedResearchReportList 0))
这是getMostRecentTaggedResearchReportForSecurityId 方法:
let getMostRecentTaggedResearchReportForSecurityId (securityId : int) (callbackUI : Action<_>) =
getSingleRPCResult<JSONSingleResult<TaggedResearchReportUIVO>, TaggedResearchReportUIVO>
"TaggedResearchReportRPC"
"getMostRecentResearchReportForSecurityId"
(sprintf "%i" securityId)
callbackUI
(fun (x : option<JSONSingleResult<TaggedResearchReportUIVO>>) ->
match x.IsSome with
| true -> Some(Option.get(x).result)
| false -> None
)
【问题讨论】:
标签: null f# nullreferenceexception