[英]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.