我正在为C4模型图创建DSL。 1st stab at it is here 我决定将软件概念和图表分开将更有意义。这意味着仅在创建图表时才需要分配画布上的位置。
因此,当我尝试在自定义操作参数中添加位置时,我无法弄清楚如何在计算表达式中使用它。
新生成器如下所示:
type SystemLandscapeDiagramBuilder internal (scope, desc, size) =
member __.Yield(_) : SystemLandscapeDiagram =
SystemLandscapeDiagram.init scope desc size
[<CustomOperation("user")>]
member __.User(diagram, user, pos) : SystemLandscapeDiagram =
diagram |> SystemLandscapeDiagram.addPerson user pos
编译器错误为,仅当计算表达式构建器定义了“ For”方法时,才可以使用此控件构造
是否可以有多个参数?关于我在做什么错的想法?