Я просто впервые пробую F # и играю с его взаимодействием с C # проектами.
У меня есть пользовательские атрибуты, определенные в проекте C #, и я добавил ссылку на этот проект в мой новый проект F #.Когда я пытаюсь определить атрибуты для оператора «let», «let» постоянно закрыт, поэтому не имеет значения, что атрибуты работают.Когда я пытаюсь изменить оператор let на что-то другое, скажем, «member», мне говорят, что атрибуты не могут нацеливаться на объект.Как мне определить функцию, если я хочу, чтобы она была общедоступной и имела атрибуты?
module FSharp
type public MyClass() =
class
//this one will get the attributes, but is always private and can't be made public
[<Core.NameAttribute("F# name")>]
[<Core.DescriptionAttribute("F# desc")>]
let f1 = "test from F#"
//this one won't get the attributes, but is public and does return the value
member this.Function1 = f1
end
Как я уже говорил в коде, у меня, похоже, есть проблема.Мои атрибуты установлены только для целевых методов, и я могу установить их для операторов let, но не для операторов member.Я уверен, что это что-то глупое, но заранее благодарю за помощь!