Если вы делаете идиоматический F #, вы бы смоделировали это с записями вместо классов .
Вы можете сделать это так:
type CreditCard = {
ExpirationMonth: int;
//More
}
type CustomerRequest = {
Method: string;
CreditCard: CreditCard;
}
let req = {
Method = "Credit"
CreditCard = {
ExpirationMonth = 6
//More
}
}
Компилятор имеет вывод типа, что означает, что он может догадаться, что req
является CustomerRequest
полями, которые у вас есть в нем, для CreditCard
- вы можете намекнуть на тип, если вам действительно нужно.
Если вы действительно после уроков - возможно, вам придется взаимодействовать с кодом C #, то вы бы сделали это так:
type CreditCard2(expirationMonth:int) =
member this.ExpirationMonth = expirationMonth
type CustomerRequest2(method: string, creditCard: CreditCard2) =
member this.Method = method
member this.CreditCard = creditCard
let req2 = CustomerRequest2 ("Credit", CreditCard2 (5))
Необходимо использовать установку как это; исходные апачские документы
ProxyPass /mirror/foo/ http://backend.example.com/ retry=0