読み取り専用プロパティの使用に違いはありますか:
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
したがって、最初の考慮事項はパフォーマンスです。
もう 1 つの考慮事項は、auto プロパティの 2 つの制限に基づいています。
virtual