WPF 컨트롤에는 동일한 인터페이스 또는 기본 클래스를 공유하지 않고 동일한 이름을 가진 많은 이벤트 멤버가 있습니다. F #의 유형 제약은 동일한 멤버가있는 모든 객체에서 작동하는 쓰기 기능을 사용 가능하게합니다. 그런 다음 이벤트 멤버에 대한 유형 제약 조건을 쓸 수 있다면 카레 함수 마녀를 작성하면 많은 컨트롤에서 같은 방식으로 속성 설정을 쉽게 할 수 있습니다.이벤트 멤버에 대한 유형 제약 조건 작성 방법은 무엇입니까?
open System.Windows.Controls
let inline click handler control =
(^T:(member Click:IEvent<_,_>)control)
.Add handler
Button()
|> click (fun _ ->()) // error!
MenuItem()
|> click (fun _ ->()) // error!
type A() =
[<CLIEvent>]
member __.Click = Event<_>().Publish
A() |> click (fun _ ->()) // It works! but IntelliSense shows the member as "event A.Click .."
그러나 위의 코드가 작동하지 않습니다 .. 나는 이벤트 회원이 불가능한 것은 작은 문제이기 때문에 .. 을 형 제약 조건을 작성하고 우리는 언어 기능에 의해 모든 작은 문제를 해결하는 경우, 언어 추측 아무도 쓸 수 없을 정도로 복잡해질 것입니다! (현재 F #은 강력하고 단순 해 보입니다)
그런 다음이 probrem을 해결할 수있는 대체 방법이 있는지 알고 싶습니다.
답변을 게시하는 것이 가장 좋을 것입니다. 자신의 대답을 수락 할 수 있습니다. –
내 질문에 대답하기 위해 8 시간을 기다려야합니다. 1 시간 후에 대답하겠습니다. 감사! – nagat01