Следующий код не компилируется.Распространение необязательных аргументов
type A(?arg) =
member __.Arg : string option = arg
type B(?arg) =
inherit A(arg) //ERROR expected type string but has type 'a option
Я принимаю это происходит потому, что должен быть обеспечен экземпляр базового типа опциона, а компилятор обрабатывает прохождение Some
/None
на основе синтаксиса.
Предполагая, что мое предположение было правильно принято, существует ли обходное решение для этого? Можно ли распространять необязательные аргументы?
Хорошо. Вы слишком много читали в спецификации. :-) Почему это работает? – Daniel
Nevermind. Я нашел его в спецификации. Я уже давно прочитал это. – Daniel
спасибо ... иногда синтаксис просто для легкого;) – Carsten