Глобальные константы в F # - как - PullRequest
21 голосов
/ 24 февраля 2010

Мне нужно установить номер версии для использования в атрибуте AssemblyVersion несколькими связанными проектами.

В C # я использую следующее

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

тогда его можно использовать следующим образом:

[assembly:AssemblyVersion(Constants.Version)]

Какой будет эквивалентная конструкция в F #. Все мои попытки придумать привязку, которую можно принять как аргумент атрибута, не сработали.

Ответы [ 2 ]

35 голосов
/ 24 февраля 2010

Используйте атрибут Literal:

[<Literal>] 
let version = "1.2.3.4"

[<assembly:AssemblyVersion(version)>]
8 голосов
/ 24 марта 2013

Так как я сам попал в эту ловушку, я думал, что поделюсь с кем-нибудь следующим. «Литерал» требует, чтобы буква начиналась с заглавной буквы. Это поразит вас, когда вы попытаетесь использовать литерал в конструкции сопоставления с образцом.

Ссылка: Не работает буквальный атрибут

...