f#で「2D Shape editor」というプロジェクトをやっています。私は以前にこのプロジェクトを c# で行ったことがあるので、2 つの図形を接続する方法のすべてのロジックを取得しました。したがって、追加するすべての形状を保持するリストが必要になることはわかっています。しかし、addToList メソッドを機能させることができません。
私のシェイプリスト:
let mutable ShapeList:List<RectangleZ> = [RectangleZ(100,100)]
私の追加方法:
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
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
そしてもちろん私の長方形:
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"
addToList 関数のどちらでも、何らかの理由で要素がリストに追加されません。私の質問はなぜですか?