1
我有這樣的代碼,因爲我去年F#CTP 1.9.7.8已經不編譯:與ReflectedDefinition屬性問題
[<Struct>]
type MyStruct =
val mutable private _i : int
val mutable private _s : single
val mutable private _i2 : int
member t.I = t._i
member t.S = t._s
member t.I2 with get() = t._i2 * 2 and set(value) = t._i2 <- value * 2
member t.Foo() = t._i * t._i
[<ReflectedDefinition>] new (x, y, z) = {_i = x; _s = y; _i2 = z}
VS與上ReflectedDefinition此錯誤消息抱怨屬性的新未來:「此屬性不適用於此語言元素「
這很奇怪,因爲例如Tomas在他的F#Web Tools項目中也在構造函數中廣泛使用它。 這是現在的默認行爲? (我已經嘗試過VS2010 beta2,我可以重播)。我沒有看到任何替代或可能的解決方法。以同樣的方式,我不能把這個屬性放在成員或屬性前(我不知道在1.9.7.8之前是否可以用CTPs)。它工作,如果我刪除Struct屬性(但仍然不在ctors),但我最終需要他們在Struct(成員和ctors)。
謝謝
好的,我會的!謝謝! – Stringer 2010-01-22 00:41:08