是否有使用只讀屬性之間的差異:只讀VS自動(只讀)屬性
type T(arg) =
member x.M = arg
,並使用自動實現的屬性:
type T(arg) =
member val M = arg
假設arg
已無副作用?有什麼理由比其他人更喜歡?
是否有使用只讀屬性之間的差異:只讀VS自動(只讀)屬性
type T(arg) =
member x.M = arg
,並使用自動實現的屬性:
type T(arg) =
member val M = arg
假設arg
已無副作用?有什麼理由比其他人更喜歡?
這兩者之間的本質區別是member val
表示在實例初始化期間僅計算一次的表達式。因此,
type Person(fname, lname) =
member val Name = fname + lname // would be calculated once
所以,首先考慮的是性能。
另一個考慮是基於對汽車性能的兩個限制:
virtual
根據我的經驗,沒有他們之間沒有太大差別noticable - 讀代碼作爲一個整體,當自己覺得更容易理解。 – 4444 2012-07-31 20:44:01