在F#中编写符合CLS的代码

时间:2014-01-09 18:58:30

标签: f#

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

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

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

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

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

1 个答案:

答案 0 :(得分:7)

使用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