繁体   English   中英

F#->访问x。 从让

[英]F# -> Access the x. from a let

如标题所示,那么我想访问x。 从出租,而不是成员。

以下作品:

type UploadController() =
    inherit Controller()

    member x.UploadPath 
        with get() = x.Server.MapPath "~/Uploads" 

但是这个:

type UploadController() =
    inherit Controller()

    let uploadPath = x.Server.MapPath "~/Uploads" 

引发编译器错误:

未定义名称空间或模块“ x”

不可能完成的任务?

您可以定义如下引用:

type UploadController () as x =
    inherit Controller ()

    let uploadPath = x.Server.MapPath "~/Uploads" 

ChaosPandion给出了一般性的答案,但是在您的特定情况下很可能不需要自我标识符。 假设Server是在Controller或其基类之一中定义的,则可以使用base. 而不是自我标识符。 这在F#文档中进行了描述:

关键字base在派生类中可用,并且引用基类实例。 它的使用类似于自我标识符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM