Действительно ли возможно определить различные атрибуты для рекурсивных классов в F#

Я хочу объявить два класса, которые связаны, поэтому я объявляю их вместе связанный 'и'. У каждого есть различные атрибуты, но этот код не работает ("Неожиданное ключевое слово 'и' в определении" ошибка в ключевом слове 'и'. Как я должен объявить атрибуты второго класса?

[<AbstractClass>]
type foo() =
  abstract member fun1 : foo -> foo2
[<Serializable>]
and foo2() = class
  member x.bar y = y
end
5
задан Bernadette 17 December 2009 в 12:20
поделиться

2 ответа

У меня работает. Вы сделали открыть систему ?

open System

[<AbstractClass>]
type foo() =
  abstract member fun1 : foo -> foo2
and [<Serializable>] foo2() = class
  member x.bar y = y
end

Изменить: Ах, похоже, что второй атрибут должен быть ПОСЛЕ и .

8
ответ дан 13 December 2019 в 22:09
поделиться

Да, я открыл систему, и да, решение состоит в том, чтобы поместить ее после и .

Ta!

2
ответ дан 13 December 2019 в 22:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: