有什么办法可以使下面的代码工作?
open System.Collections.Generic
type Geometry<'t>(child: 't) =
let values = List()
member o.add (v: float) = values.Add v; child
and Line() as self =
inherit Geometry<Line>(self)
member o.length v = o.add v
let line = Line().length(50.0)
我明白了
System.NullReferenceException:对象引用未设置为对象的实例。
编辑:
调用以下代码来触发异常就足够了。
let line = Line()
动机是您可以执行以下操作:
let line = Line().x1(10).y1(20).x2(30).y2(10).color("blue") // ...
并且您可以在所有几何图形(圆形、椭圆形、...)中重用公共成员