在为我无法完全解决的 F# 脚本文件创建签名文件时遇到错误。
要进行复制,请创建一个新的 F# 类库并添加一个文件 Test.fs:
namespace Signatures
open System
type Test (id : Guid, name : string) =
member this.Id = id
member this.Name = name
这将建立良好。然后在上面新建一个签名文件Test.fsi:
namespace Signatures
open System
type Test =
new : (Guid * String) -> Test
member Id : Guid
member Name : String
这现在不会生成错误Module 'Signatures' requires a value 'new : (Guid * String) -> Test
(这与两个文件中的构造函数签名不同时得到的错误不同)。我能找到的关于在签名文件中定义构造函数的唯一真实文档是MSDN,它处理无参数构造函数。
如果将鼠标悬停在 .fs 文件中的 Test 上,则构造函数的签名与 .fsi 文件中的签名匹配。我也尝试过更改构造函数,使其不是隐含的,没有欢乐。
我正在使用 VS2012 RC,并尝试过 .Net 4 和 4.5。