我有這樣一組F#記錄類型:反思錯誤在Windows Phone上使用F#sprintf的 「%A」 的時候
type Course =
{ Id : int
Title : string
Instructor : string
Duration : string
StartDate : string
IconUrl : string
Url : string
LectureSections : LectureSection list }
and LectureSection =
{ Title : string
Completed : bool
Lectures : Lecture list }
and Lecture =
{ Title : string
VideoUrl : string }
,並在某些時候我打電話
sprintf "%A" course
這裏當然是課程記錄的一個實例
在一個普通的.NET項目上,這工作正常,但在Windows Phone 7.1/Silverlight 4 F#項目中(我使用Daniel Mohl的模板),出現此錯誤:
Late bound operations cannot be performed on types or methods for which ContainsGenericParameters is true.
問題似乎是列表。有誰知道解決這個問題的方法嗎?
一個明顯的解決方法是重寫'ToString()'成員並使用'sprintf「%O」':) – pad