> type XList<'T> (_collection : seq<'T>) =
inherit List<'T> (_collection)
member this.Add _item = if not <| this.Contains _item then base.Add _item
new() = XList<'T> (Seq.empty<'T>);;
inherit List<'T> (_collection)
--------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stdin(47,9): error FS0945: Cannot inherit a sealed type
Ma compréhension est que la liste < « T> est en fait pas scellé. Non? En outre, cela semble fonctionner très bien en dehors de F # interactive. Ce code exact est dans mon projet F #, et le compilateur le traite sans se plaindre. J'ai la même chose dans quelques projets en C#. Le code fonctionne comme prévu dans tous les cas.F #: Impossible d'hériter de la liste <'T> en F # interactive
Normalement, j'étendrais simplement la liste < 'T> avec une méthode statique (en faisant la "méthode F #"), mais cacher List.Add devrait aussi fonctionner correctement.
Merci, je savais que SCGList et F # liste serait me mordre dans le cul finalement. J'ai cassé ma cerise, maintenant. – MiloDC