当我调用它们的函数时,我已经知道了F#库和.NET库之间的区别.但是当我在VS 2010对象浏览器中看到语句"printfn"时,我只看到了"public static T PrintFormatLine(... format)"而不是"printfn".
为什么在VS2010对象浏览器中F#库中的语句"printfn"名称不同?
如果没有F#库的文档,如何调用F#库中的函数,因为VS 2010对象浏览器中的名称完全不同?
printfn
F#核心库中的函数使用特殊属性进行批注,该属性CompiledName
以编译形式指定函数的名称:
[<CompiledName("PrintFormatLine")>]
let printfn fp = ...
Run Code Online (Sandbox Code Playgroud)
这有什么用?我认为动机是FSharp.Core.dll
库应遵循通常的.NET命名准则.但是,F#命名准则略有不同(允许使用小写名称等),因此该属性用于使库看起来更像普通的.NET库.
我不认为这是F#用户自己使用的东西.如果您正在编写将从C#中使用的代码,请以C#友好样式编写它,如果您正在编写将从F#中使用的代码,请遵循F#命名准则.
归档时间: |
|
查看次数: |
190 次 |
最近记录: |