Я думаю, это то, что вы ищете:
CreditCard.fs
namespace StackOverflow
type CreditCard() =
member val ExpirationDate = "" with get, set
member val ExpirationYear = "" with get, set
member val Number = "" with get, set
member val Cvc = "" with get, set
type CustomerRequest() =
member val Method = "" with get, set
member val CreditCard = new CreditCard() with get, set
Program.fs
open System
open StackOverflow
[<EntryPoint>]
let main argv =
let body = new CustomerRequest(Method = "CREDIT_CARD",
CreditCard = CreditCard(
ExpirationDate = "06",
ExpirationYear = "2022",
Number = "4012001037141112",
Cvc = "123"
))
0
Я не очень разбираюсь в F #, так что, возможно, использование Records, как использует Дэвид Шоу, лучше для дизайна. Но в основном это позволит вам сделать это без конструктора параметров и без изменяемого значения не свойства в вашем типе.