簡體   English   中英

是否可以在F#中聲明一個抽象的自動實現屬性?

[英]Is it possible to declare an abstract auto-implemented property in F#?

我正在嘗試以下F#等效:

[C#]
public virtual int Property { get; set; }

但是這段代碼(以及許多其他組合)不起作用:

[F#]
abstract member Id: int with get, set
default val this.Id = 123 with get, set

這在Dev11預覽中是不可能的。

好的,查看有關F#屬性的MSDN文檔 ,抽象屬性中的這一行會立即跳出:

或者,abstract可以僅表示屬性是虛擬的,在這種情況下,定義必須存在於同一個類中。

他們給出的示例語法是:

type Base1() =
   let mutable value = 10
   abstract Property1 : int with get, set
   default this.Property1 with get() = value and set(v : int) = value <- v

現在我對F#並不過分熟悉,但我的猜測是你可以將let mutable value = 10設置為let mutable value = 123

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM