【发布时间】:2012-08-26 10:11:48
【问题描述】:
这是关于 F# 类语法的一个非常基本的问题。这是一个小代码来说明我的问题。
type AClass() as self =
member this.Something = printfn "Hello"
基本上,从我所读的内容来看,“as self”将为当前实例创建一个名称,该名称可在整个类中使用(如 C# 或 Java 中的“this”)。但是“member this.Something”会做同样的事情,只是范围仅限于方法体。我想我可以看到你什么时候会使用哪种语法。如果您在构造函数中需要它,可以使用“as self”,如果在构造函数中不需要它,可以使用另一个。
但为什么我必须使用“成员 this.Something”语法,即使我使用了“as self”语法?如果我只写“member Something”,为什么它会给我一个错误?我错过了什么?
保重, 可儿
【问题讨论】:
-
实际上,这只是一小部分重复,因为大多数情况下您都希望避免
as self。
标签: f#