সিএমএসের উত্তর অবশ্যই সঠিক। এখানে কেবলমাত্র একটি সংযোজন যা সহায়ক হতে পারে। এফ # তে, আপনি প্রায়শই কেবল পরিবর্তনযোগ্য বৈশিষ্ট্য ব্যবহার করে টাইপটি লিখতে চান। "অবজেক্ট ইনিশিয়ালাইজার" সিনট্যাক্স ব্যবহার করার সময়, বৈশিষ্ট্যগুলি পরিবর্তনীয় হতে হবে। এফ # এর একটি বিকল্প হল নামযুক্ত যুক্তি ব্যবহার করা, যা আপনাকে অনুরূপ সিনট্যাক্স দেয় তবে জিনিসগুলিকে অপরিবর্তনীয় রাখে:
type Person(name:string, ?birthDate) =
member x.Name = name
member x.BirthDate = defaultArg birthDate System.DateTime.MinValue
এখন আমরা লিখতে পারি:
let p1 = new Person(name="John", birthDate=DateTime.Now)
let p2 = new Person(name="John")
কোডটির জন্য আপনাকে নামটি নির্দিষ্ট করতে হবে, তবে জন্মদিনে কিছু ডিফল্ট মান সহ alচ্ছিক যুক্তি।