CMS'den cevabı kesinlikle doğrudur. İşte size yardımcı olabilecek sadece bir ek. F # 'da, genellikle yalnızca immutable özelliklerini kullanarak yazmak istersiniz. "Object initializer" sözdizimini kullanırken, özelliklerin değişebilir olması gerekir. F # alternatif size benzer bir sözdizimi veren argümanlar adlı kullanmak için, ama değişmez şeyler tutar:
type Person(name:string, ?birthDate) =
member x.Name = name
member x.BirthDate = defaultArg birthDate System.DateTime.MinValue
Şimdi yazabiliriz:
let p1 = new Person(name="John", birthDate=DateTime.Now)
let p2 = new Person(name="John")
kod adını belirtmenizi gerektirir, ancak doğum günü, bazı varsayılan değerlere sahip isteğe bağlı bir argümandır.
Tomas'a teşekkürler, ama benim durumumda Kişi başka bir mecliste ve bunu değiştiremiyorum :( –