Новый для F #. Наслаждаясь этим.
Я пытаюсь сослаться на тип, который я объявил на верхнем уровне модуля F # из вложенного модуля.
В этом коде я хочу o1
для ссылки на тип верхнего уровня Order
:
module Order
type Id = Id of int64
module Id = let value (Id i) = i // allow us to unpack the int64
type Order = {Id : Id}
module DTO =
type Order = {Id : int64}
let DomainToDTO (o1 : Order) : Order = { Order.Id = Id.value(o1.Id) }
Это работает:
module Order
type Id = Id of int64
module Id = let value (Id i) = i // allow us to unpack the
type Order1 = {Id : Id}
module DTO =
type Order2 = {Id : int64}
let DomainToDTO (o1 : Order1) : Order2 = { Order2.Id = Id.value(o1.Id) }
Можно ли сообщить компилятору, что функция DomainToDTO ожидает получения верхнего уровня-уровневый тип, без присвоения локальному типу другого имени?
Т.е. я хочу, чтобы код был ниже, чтобы ссылаться либо на "Заказ", либо на "DTO.Order"?
Спасибо за помощь
Роланд