在 C# 中我可以这样做:
[InlineData(new [] { "foo" })]
Run Code Online (Sandbox Code Playgroud)
当我尝试在 F# 中执行此操作时:
[<InlineData([| "foo" |])>]
Run Code Online (Sandbox Code Playgroud)
它给了我一个编译错误:
This is not a valid constant expression or custom attribute value
Run Code Online (Sandbox Code Playgroud)
我做错了什么或者 F# 不支持数组作为属性参数吗?
更新
该问题似乎与属性的签名有关:
InlineDataAttribute(params dataValues: obj[]) : unit
Run Code Online (Sandbox Code Playgroud)
目标是将字符串数组作为 params 数组中的单个元素传递。
f# ×1