f# - 用 F# 编写符合 CLS 的代码

标签 f#

我对 F# 很陌生,我开始在 OpenGL 之上编写我的功能包装器。我还打算用它来编写一个图形引擎,该引擎应该与所有 .Net 语言互操作。

但是很难找到有关 F# 中哪些代码构造不符合 CLS 的信息。

例如,我已经知道一些不符合 CLS 的:

  • 静态类型约束
  • 无元组函数
  • 可能 'T list and Seq
  • 甚至联合类型

  • 我如何知道 F# 的哪些功能不符合 CLS?

    最佳答案

    使用 CLSCompliant attribute .它将保证您的代码在编译时符合 CLS。

    像这样:

    module myProject.AssemblyInfo
    
    open System
    
    [<assembly: CLSCompliant(true)>]
    
    do()
    

    来源:Mike-Ward.Net: Learning F#–Assembly Level Attributes

    有关 CLSCompliant 属性的更完整讨论,请参阅 C# Corner: Making Your Code CLS Compliant

    关于f# - 用 F# 编写符合 CLS 的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21028833/

    相关文章:

    f# - Seq.find 大量崩溃(int64)

    c# - 在 F# 中处理资源清理的功能方法

    performance - 为什么从左到右的函数组合比从右到左快 11 到 19 倍?

    F# 管道和函数应用程序之间的神秘差异

    f# - FSharp Data的CsvProvider中 "Load"返回的类型是什么

    silverlight - Windows Phone 上的 F# 引用

    concurrency - 并行异步任务不同时执行

    f# - 专家 F# 网络爬虫示例

    F# 编译器错误 FS0030,值限制问题

    c# - 包含引用后无法使用项目中的命名空间? F# C#