Грубый Fsharp Эквивалент вашему коду C #:
type MerchantTerminalCategory = NotSet=0 | Set=1
type MerchantTerminal() =
let mutable category =
new System.Nullable<MerchantTerminalCategory>()
member this.Category
with get() = category
and set(value) = category <- value
Использование по вашему вопросу:
Ваше использование будет выглядеть примерно так. Вы только пропустили задание =
op здесь.
let setCategory (terminal: MerchantTerminal) = //you were missing the assignment "=" op here
terminal.Category <- Nullable(MerchantTerminalCategory.NotSet)
()
Дополнительный комментарий
В качестве дружественного предложения "кода комментария", одно из преимуществ использования конструкции, подобной enum, состоит в том, чтобы избежать использования null. Если это вообще возможно, вы должны вытащить пустую часть и использовать доступные состояния перечисления для представления состояния NotSet по умолчанию, возможно, используя то, что у вас уже есть, или через новое состояние.