嗨,我剛剛開始在F#編程,並堅持在類型問題。 我有這樣的功能:該參數已被用來限制它始終是DerrivedType
member private this.UpdateStats<'T when 'T :> StatisticsBase>(passed: bool, stats: 'T) =
//more stuff..
stats
我打電話這樣說:
this.UpdateStats<GroupStats>(true, GroupStats(Id = Guid.NewGuid()))
編譯器說:
GroupStats從StatisticsBase繼承。爲了使該功能可用於從StatisticsBase繼承的所有實體,我需要做些什麼?
類型:
[<AllowNullLiteral>]
type StatisticsBase() =
member val Id = String.Empty with get,set
[<AllowNullLiteral>]
type GroupStats() =
inherit Stats()
StatisticsBase實際上是從一個C#類繼承,並在倉庫中使用,但我可以用上面
您將不得不展示更多的代碼。我沒有提到你描述的最小實現的警告。我懷疑'UpdateStats'的代碼並不像你那麼簡單。 –