В этом примере в последней строке я хочу создать экземпляр типа A
, но получаю ошибку компиляции.При наведении курсора на A("A1")
я вижу, что A
используется для ссылки на случай объединения TM.A
, а не на тип A
.Может кто-нибудь объяснить, что здесь делает компилятор и как избежать этой ошибки, не меняя имя объединенного регистра (я бы хотел, чтобы оно совпадало с именем типа)
type A(name:string)
= member this.Name = name
type T(name:string)
= member this.Name = name
type TK(t:T, a:List<A>) =
member this.T = t
member this.A = a
type TM =
| T of T
| A of A
| G of List<T>
let a = A("A1")