5
我打算使用实现DSL创建HTML的文档中的official example。Kotlin类型安全制造商DSL,最外层功能的安全
由于Kotlin 1.1,@DslMarker
注释允许我们限制我们类中的函数范围,例如@HtmlTagMarker
注释中的示例。
html {
body {
body { // this in an error, as it's a function call on the outside Html element
}
}
}
然而,这并不妨碍嵌套最外层的功能,这是入口点DSL:尝试写不正确的结构化这样的代码时,这给了我们一个错误。例如,与例子,因为它是现在,这个可以写下来没有问题:
html {
html {
}
}
有没有什么办法让一个DSL在这方面更安全吗?
这基本上是完美的,谢谢! – zsmb13