Распространение дополнительных аргументов

Следующий код не компилируется.

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 на основе синтаксис.

Если мое предположение было сделано правильно, есть ли обходной путь для этого? Можно ли распространять необязательные аргументы?

13
задан Daniel 17 August 2011 в 16:18
поделиться