1
對不起,如果這是基本的,但我仍然圍繞F#包裝頭。訪問F#構造函數中的屬性值
我想這樣做:
type Person(user:User) as this =
member val Name = "" with get, set
user.UserId <- this.Name
但是,這給我的錯誤Unexpected identifier in member definition
。
這編譯:
type Person(user:User) as this =
do
user.UserId <- this.Name
member val Name = "" with get, set
但給了我一個InvalidOperationException
在運行時。
我解決這個:
type Person(user:User) =
member val Name = "" with get, set
member this.Setup() =
user.UserId <- this.Name
,但我不喜歡每次打電話person.Setup()
。
什麼是最好的F-Sharpy方式來做到這一點?
有沒有辦法做到這一點,只允許調用第二個構造函數(傳入User對象)?也就是說,使第一個(顯式)構造函數成爲私有的方法? –
@KenSmith - 這是可能的 - 查看更新回答 –
謝謝!讚賞。 –