こんにちは私はF#でプログラミングを開始しました。 私はこの機能を持っている:パラメータは常にデリバティブ型に制限された形で使用されています
member private this.UpdateStats<'T when 'T :> StatisticsBase>(passed: bool, stats: 'T) =
//more stuff..
stats
私はこのようにそれを呼んでいる:
this.UpdateStats<GroupStats>(true, GroupStats(Id = Guid.NewGuid()))
コンパイラは言う:
パラメータがそれを制約する方法で使用されてきました常にGroupStatsになります。
GroupStatsはStatisticsBaseから継承します。 StatisticsBaseから継承したすべてのエンティティで関数を使用できるようにするためには、私は何をしなければなりませんか?
タイプ:
[<AllowNullLiteral>]
type StatisticsBase() =
member val Id = String.Empty with get,set
[<AllowNullLiteral>]
type GroupStats() =
inherit Stats()
StatisticsBaseが実際にC#型から継承し、リポジトリに使用されているが、私は多くの前後に後
これ以上のコードを表示する必要があります。あなたが記述した最小限の実装では警告は表示されません。私は、 'UpdateStats'のコードはあなたの上に置くほどシンプルではないと思います。 –