2016-10-22 4 views
2

저는 F #을 처음 사용 했으므로 F # 양식 응용 프로그램을 만들고 싶습니다. 하지만 지금 당장 가지고있는 문제는 기본 클래스를 구현하는 방법을 모른다는 것입니다. 나의 양식은 이미 tryedF # 기본 클래스 구현

모듈이 아닌 유형이되도록 C#에서 F #으로 그것을 그

namespace Test_Form 
{ 
    public class Form1 : Form 
    { 
     public Form1() 
     { 

     } 
    } 
} 

처럼 할 것이다 그러나 나는 어떻게해야합니까

open System 
open System.Windows.Forms 

type Form1() = 
    inherit Form() 

하지만 당신은 C#으로 생성자 메서드를 사용하는 것이 어디

public class Form1 : Form 
{ 
    public Form1() : this() 
    { 
    } 
} 
+2

귀하의 마지막 조각이 첫 번째 조각 정확히 동일합니다. 뭐가 문제 야? –

+0

나는 this.Controls 또는 F #에서 그런 식으로 액세스 할 수 없다 "네임 스페이스 또는 모듈"이 "정의되지 않았습니다."라고 말합니다. – Silent3241

+3

Q (offtopic) : 왜 WPF가 아닌가요? –

답변

4

초래

the docs 인용 F에서 #
public class Form1 : Form 
{ 
    public Form1() 
    { 
     // Do stuff 
    } 
} 

,

해야할 바인딩에 부가 코드를 포함하는 객체는 구조에 실행된다.

하면 예를 들어

type Form1() = 
    inherit Form() 

    do // stuff 

것 :

type Form1() as this = 
    inherit Form() 

    do this.Click.Add(fun args -> printfn "%s" <| args.ToString()) 
+0

하지만이 코드를 사용하면 코드에 "The Namespace or Module"이 "정의되어 있지 않습니다"오류 메시지가 나타납니다. – Silent3241

+2

@ Silent3241'Form1() =' 'Form1()을 this =로 입력하십시오. – Funk

+0

오, 나는 그것을 보았다, 고마워. – Silent3241