Constantes globais em f# - como
Pergunta
Preciso definir um número de versão a ser usado no atributo AssemblyVersion por vários projetos relacionados.
Em C# eu uso o seguinte
public class Constants {
public const string Version = "1.2.3.4";
}
Em seguida, pode ser usado da seguinte maneira:
[assembly:AssemblyVersion(Constants.Version)]
Qual seria a construção equivalente em F#. Todas as minhas tentativas de criar uma ligação que pode ser aceita como um argumento de atributo não funcionou.
Solução
Use o atributo Literal
:
[<Literal>]
let version = "1.2.3.4"
[<assembly:AssemblyVersion(version)>]
Outras dicas
Desde que entrei nessa armadilha, pensei em compartilhar para qualquer pessoa seguir. Um 'literal' exige que a carta comece com uma letra maiúscula. Isso o atingirá quando você tentar usar o literal em um construto de correspondência de padrões.
Referência:Atributo literal não funcionando
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow