Я в основном спрашивают, почему следующие строки кодов не компилировать:Использование блока в качестве параметра типа и верховные методы
type IGenericType<'a> =
abstract member MyFunc : 'a -> 'a -> 'a
type Implementer() =
member x.Test()() =() // unit->unit->unit
interface IGenericType<unit> with
member x.MyFunc a b = b // FS0017
// member x.MyFunc()() =() // FS0017
Просто интересно, если есть способ, чтобы сделать эту работу, как предполагалось. Я предполагаю, что это ограничение, связанное с реализацией подразделения и дженериков.
Im используя следующий обходной путь на данный момент:
type Nothing =
| Nothing
type Implementer() =
interface IGenericType<Nothing> with
member x.MyFunc a b = b
Надежда кто-то может принести некоторый свет на эту проблему.