在 C# 中,可以像这样定义一个公共静态只读字段:
namespace MyNamespace
{
public static class MyClass
{
public static readonly string MyValue = "Test";
}
}
Run Code Online (Sandbox Code Playgroud)
在 F# 中,我能想到的最符合上述定义的代码是:
namespace MyNamespace
module MyClass =
[<Literal>]
let MyValue = "Test"
Run Code Online (Sandbox Code Playgroud)
但这实际上转化为以下 C# 片段:
namespace MyNamespace
{
public static class MyClass
{
public const string MyValue = "Test";
}
}
Run Code Online (Sandbox Code Playgroud)
如何在 F# 中定义公共静态只读字段?const对我来说不是一个选择,因为我想使用不同的程序集。