具有多个参数的计算表达式自定义操作

时间:2018-09-27 20:18:16

标签: f# computation-expression

我正在为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”方法时,才可以使用此控件构造

是否可以有多个参数?关于我在做什么错的想法?​​

0 个答案:

没有答案