저는 처음으로 F #을 처음 사용해 보았고 C# 프로젝트와의 상호 운용성을 가지고 놀았습니다.F # 유형의 공용 메소드에 속성을 추가하려면 어떻게해야합니까?
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"문에서는 설정할 수 없습니다. 나는 이것이 바보 같은 것이라고 확신하지만, 당신의 도움을 위해 미리 감사드립니다!