Скомпилированная форма именованных полей объединения в v3.1
Во-первых, доступна ли спецификация F# 3.1 онлайн? Если так, то ответ на этот вопрос должен быть достаточно легким для поиска.
Мне интересно, будет ли скомпилированная форма различаемых объединений с именованными полями (добавлена в 3.1) включать свойства с именами полей вместо обычной Item1
, Item2
... свойства.
1 ответ
Насколько я знаю, спецификация еще не доступна, поэтому единственный способ узнать это - попробовать. Я установил VS 2013 RC, поэтому я подумал, что могу проверить с помощью этого объединения:
type Expression =
| Add of Left:Expression * Right:Expression
| Constant of number:int
Как и ожидалось, он генерирует именованные свойства, которые приятно использовать из C#:
Фактически, он также использует имя в параметрах функций построения:
Если вы используете их для совместимости с C#, то вы, вероятно, захотите написать имена членов объединения в PascalCase
потому что компилятор не использует заглавные буквы в имени свойства автоматически, если вы используете строчные буквы (но, что интересно, он использует строчные буквы для параметров).