F# 中的全局常量 - 如何

发布于 2024-08-22 13:21:21 字数 319 浏览 5 评论 0原文

我需要设置一个版本号,以供多个相关项目在 AssemblyVersion 属性中使用。

在 C# 中,我使用以下内容

public class Constants {
    public const string Version = "1.2.3.4";
}

,然后可以按如下方式使用:

[assembly:AssemblyVersion(Constants.Version)]

F# 中的等效构造是什么。我所有尝试提出一个可以作为属性参数接受的绑定的尝试都没有成功。

I need to set a version number to be used in the AssemblyVersion attribute by several related projects.

In C# I use the following

public class Constants {
    public const string Version = "1.2.3.4";
}

then it can be used as follows:

[assembly:AssemblyVersion(Constants.Version)]

What would be the equivalent construct in F#. All my attempts to come up with a binding which can be accepted as an attribute argument did not work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情深缘浅 2024-08-29 13:21:21

使用属性 Library

[<Literal>] 
let version = "1.2.3.4"

[<assembly:AssemblyVersion(version)>]

Use the attribute Literal:

[<Literal>] 
let version = "1.2.3.4"

[<assembly:AssemblyVersion(version)>]
勿忘初心 2024-08-29 13:21:21

自从我自己踏入这个陷阱以来,我想我会分享给跟随者。
“字面量”要求字母以大写字母开头。当您尝试在模式匹配构造中使用文字时,这会打击您。

参考:
文字属性不起作用

Since I stepped into this trap myself I thought I'd share for anyone following.
A 'Literal' requires that the letter starts with a capital letter. This will hit you when you try to use the literal in a pattern matching construct.

Reference:
Literal attribute not working

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文