Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# 属性不显示值_F# - Fatal编程技术网

F# 属性不显示值

F# 属性不显示值,f#,F#,我在类中定义了一个属性,如: type Customer() = let mutable _lastName = String.Empty member val LastName = _lastName with get 在QueryData方法中,我给_lastName赋值: member self.QueryData () = // CODE let addressData = bp.GetStructure("PE_PER

我在类中定义了一个属性,如:

type Customer() =
    let mutable _lastName = String.Empty
    member val LastName = _lastName with get
在QueryData方法中,我给_lastName赋值:

member self.QueryData () =

            // CODE
            let addressData = bp.GetStructure("PE_PERSONALDATA")
            _lastName <- addressData.GetString("LASTNAME")
            null
        | RfcCommunication ex ->
            let basedComm = ex :> Exception
            basedComm
        | RfcLogon ex ->
            let basedLogon = ex :> Exception
            basedLogon
        | RfcAbapRuntime ex ->
            let basedAbap = ex :> Exception
            basedAbap
member self.QueryData()=
//代码
让addressData=bp.GetStructure(“PE_PERSONALDATA”)
_姓氏
let basedComm=ex:>异常
基线毫米
|RfcLogon ex->
let basedLogon=ex:>异常
basedLogon
|RfcAbapRuntime ex->
让basedAbap=ex:>异常
basedAbap
在主函数中,我创建了Customer()的实例,并读取LastName属性:

[<EntryPoint>]
let main argv = 

    let customer = CustomerBapi.Customer()
    let ex = customer.QueryData()

    if ex <> null then printfn "%s" ex.Message
    printfn "%s" customer.LastName
[]
让主argv=
让customer=CustomerBapi.customer()
设ex=customer.QueryData()
如果ex null,则打印Fn“%s”ex.消息
printfn“%s”customer.LastName
结果是空字符串。我试着调试程序,发现_lastName不是空的


为什么LastName属性为空?

您的属性应如下所示:

member this.LastName with get () = _lastName
您正在使用的属性类型将
\u lastName
作为值传递给初始化它


解释来自:

保存属性数据的私有值称为备份 商店。要让编译器自动创建备份存储, 使用关键字member val,省略自标识符,然后提供 表达式初始化属性。如果该财产是 可变,包括get和set。例如,下面的类类型 包括两个自动实现的属性。不动产1是 只读,并初始化为提供给主 构造函数,而Property2是初始化为 空字符串:


您的财产应如下所示:

member this.LastName with get () = _lastName
您正在使用的属性类型将
\u lastName
作为值传递给初始化它


解释来自:

保存属性数据的私有值称为备份 商店。要让编译器自动创建备份存储, 使用关键字member val,省略自标识符,然后提供 表达式初始化属性。如果该财产是 可变,包括get和set。例如,下面的类类型 包括两个自动实现的属性。不动产1是 只读,并初始化为提供给主 构造函数,而Property2是初始化为 空字符串: