2016-10-22 7 views
2

私はF#を初めて使用しました。私はF#フォームアプリケーションを作成したかったのです。しかし、現時点で問題になっているのは、基本クラスの実装方法がわからないことです。 C#では私はそのF#基本クラスを実装

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

     } 
    } 
} 

のようにそれを行うだろう。しかし、私のフォームは、私はすでに

open System 
open System.Windows.Forms 

type Form1() = 
    inherit Form() 

をしようと試みたが、そのモジュールとないタイプ

あるように、どのように私はF#でそれを作るのですかあなたが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 
    } 
} 

DO-バインディング部はオブジェクト 建設時に実行されるコードを含みます。

あなた例えば

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()とタイプします。 – Funk

+0

今、私はそれを見ました、ありがとう。 – Silent3241

関連する問題