Я подтверждаю, что эта проблема также возникает в моем контексте.
Когда вы печатаете% A непосредственно в списке дисков, вывод в порядке:
printfn "%A" [{SizeGb = 10}] // output: [10GB]
Но когда список дисковпечатается косвенно, как в вашем коде:
[<StructuredFormatDisplay("Computer #{Id}: {Manufacturer}/{DiskCount}:{Disks}")>]
Мы получаем точки.
Я думаю, что это ошибка базовой библиотеки F #.Одним из обходных путей может быть добавление нового строкового свойства, содержащего отформатированную строку списка дисков, и вместо этого использовать это свойство:
[<StructuredFormatDisplay("Computer #{Id}: {Manufacturer}/{DiskCount}:{DisksStr}")>]
type Computer =
{ Id: int
mutable Manufacturer: string
mutable Disks: Disk list }
member this.DisksStr = sprintf "%A" this.Disks