有没有办法在单个 [<CLIEvent>] 块中包含多个事件声明?

Is there a way to enclose multiple event declarations on a single [<CLIEvent>] block?

写起来有点繁琐:

let e1 = Event<_>()
let e... = Event<_>()
let en = Event<_>()

[<CLIEvent>]
member this.E1 = e1.Publish
[<CLIEvent>]
member this.E... = e....Publish
[<CLIEvent>]
member this.En = en.Publish

在代码中,我展示了我需要如何编写 n [<CLIEvent>],每个事件 1 个。

[<CLIEvent>] 不是 "block",它是 属性

一个属性紧随其后应用于成员,所以不可以,您不能将相同的 [<CLIEvent>] 属性应用于多个成员。

但是如果有帮助,您可以将它们放在同一行:

[<CLIEvent>] member this.E1 = e1.Publish
[<CLIEvent>] member this.E... = e....Publish
[<CLIEvent>] member this.En = en.Publish