F#实现基类

时间:2016-10-22 15:38:17

标签: c# f# base-class

我是F#的新手,我想创建一个F#Forms应用程序。但我现在遇到的问题是,我不知道如何实现基类。在C#中,我会这样做

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

        }
    }
}

但是如何在F#中创建它以使我的Forms是一个模块而不是一个类型

我已经尝试了

open System
open System.Windows.Forms

type Form1() = 
    inherit Form()

但这会导致

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

1 个答案:

答案 0 :(得分:4)

您将在C#

中使用构造函数方法
public class Form1 : Form
{
    public Form1()
    {
        // Do stuff
    }
}

在F#中,引用the docs

  

do-bindings部分包括要在object上执行的代码   构造

你会

type Form1() =
    inherit Form()

    do // stuff

例如:

type Form1() as this =
    inherit Form()

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