如何使用 F# 语法将类型作为属性参数传递?

How to pass a Type as an attribute parameter using F# syntax?

FsCheck 允许在其 NUnit 集成中自定义 Arbitrary

[<Property(Verbose = true, Arbitrary= [typeof<Test.Arithmetic.MyArb>])>]
static member  MultiplyIdentity (x: int64) = x * 1 = x

此语法无效。我有点不好意思问,但显然我以前从来不需要这个:如何在 F# 中将类型指定为属性参数? Microsoft says nothing about it, nor does the Wikibooks project,我在谷歌搜索时遇到了一些问题(type 这个词无处不在)。

注1:Arbitrary参数类型为Type []

我认为你很接近,但是 [1;2;3] 创建了一个 list<int>,你想要一个数组文字使用 [| 1;2;3 |]:

[<Property(Verbose = true, Arbitrary= [| typeof<Test.Arithmetic.MyArb> |])>]
static member  MultiplyIdentity (x: int64) = x * 1 = x