4
type Package =
abstract member Date : int
abstract member Save : unit -> unit
[<type:StructLayout(LayoutKind.Sequential, Pack=1, CharSet=CharSet.Ansi)>]
type Instant(date : int, value : int) =
let mutable _date = date
let mutable _value = value
member X.Value : int = _value
interface Package with
member X.Date : int = _date
member X.Save() = ...
,但得到的錯誤:只有無隱構造結構和類,可給予「StructLayout」屬性
所以我意識到它必須是類似的:
type Instant =
struct
val Date : byte array
...
但是這樣我就失去了我的界面。在C#中,例如,爲這種類型添加type:StructLayout
是可能的(我認爲)。我該如何重構我的代碼才能避免此錯誤?
謝謝。我可以從Save()中訪問Value和How? – Cynede
和Date一樣,只需使用'x.Value'。 – pad
不,我得到奇怪的錯誤:這個值不是一個函數,不能應用 – Cynede