Global constants in F# - how to
문제
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.
해결책
Use the attribute Literal
:
[<Literal>]
let version = "1.2.3.4"
[<assembly:AssemblyVersion(version)>]
다른 팁
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
제휴하지 않습니다 StackOverflow