Ajouter des trucs à une liste en f#

Je suis en train de faire un projet appelé "Forme 2D de l'éditeur" en f#. J'ai fait ce projet en c# avant, donc j'ai toutes les logiques de comment connecter deux formes. Donc, je sais que j'ai besoin d'une liste de tenir toutes ces formes que je vais être en ajoutant. Mais je ne peux pas obtenir mon addToList méthode de travail.

Mon ShapeList:

let mutable ShapeList:List<RectangleZ> =  [RectangleZ(100,100)] 

Mon ajouter des méthodes:

let addToList (listan:List<RectangleZ>) (element:RectangleZ) = let ShapeList =     ShapeList@[element] in ShapeList
//Method to add into the ShapeList

let addToList (listan:List<RectangleZ>) (element:RectangleZ) = element::ShapeList
//Other try on adding into shapeList

le bouton qui devrait être l'ajout de rectangles aux ShapeList:

btn.Click.Add(fun _ -> new RectangleZ(500, 100) |> addToList ShapeList |>ignore |> saver)
//Button click method that should be adding the RectangleZ(500, 100) to my ShapeList

Et bien sûr mon rectangle:

type RectangleZ(x:int, y:int)= 
  let mutable thisx = x
  let mutable thisy = y
  let mutable thiswidth = 50
  let mutable thisheight = 20
  let brush = new SolidBrush(Color.Black)
  member obj.x with get () = thisx and set x = thisx <- x
  member obj.y with get () = thisy and set y = thisy <- y
  member obj.width with get () = thiswidth and set width = thiswidth <- width
  member obj.height with get () = thisheight and set height = thisheight <- height
  member obj.thisColor = Color.FromArgb(167, 198, 253)
  member obj.draw(paper:Graphics) = paper.FillRectangle(brush, thisx, thisy, 50, 20)
  member obj.ShapeType = "Rectangle"

L'élément dosn pas ajouté dans la liste pour une raison quelconque dans aucun de mes addToList fonctions. Ma Question est pourquoi?

OriginalL'auteur Jakob Danielsson | 2012-12-12