12
1
type Player = { Name: string; Score: int; Id: System.Guid }
2
3
type PlayerDTO =
4
{ Name: string; Score: int; Id: string }
5
with static member op_Implicit(p: Player) : PlayerDTO =
6
{ Name = p.Name; Score = p.Score; Id = p.Id.ToString() }
7
8
let p: Player = { Name = "Yan"; Score = 42; Id = System.Guid.NewGuid() }
9
let dto = PlayerDTO.op_Implicit(p)
10
11
printfn "%A" p
12
printfn "%A" dto