C# F#实现基类
我是F#新手,我想创建一个F#Forms应用程序。但我目前的问题是,我不知道如何实现基类。在C#中,我会这样做C# F#实现基类,c#,f#,base-class,C#,F#,Base Class,我是F#新手,我想创建一个F#Forms应用程序。但我目前的问题是,我不知道如何实现基类。在C#中,我会这样做 namespace Test_Form { public class Form1 : Form { public Form1() { } } } 但我如何在F#中创建表单,使其成为模块而不是类型 我已经试过了 open System open System.Windows.Forms type Form1()
namespace Test_Form
{
public class Form1 : Form
{
public Form1()
{
}
}
}
但我如何在F#中创建表单,使其成为模块而不是类型
我已经试过了
open System
open System.Windows.Forms
type Form1() =
inherit Form()
但这将导致
public class Form1 : Form
{
public Form1() : this()
{
}
}
在这里,您将使用C中的构造函数方法# 在F中引用 do bindings部分包括要在对象上执行的代码 建筑 你会的
type Form1() =
inherit Form()
do // stuff
例如:
type Form1() as this =
inherit Form()
do this.Click.Add(fun args -> printfn "%s" <| args.ToString())
键入Form1(),如下所示=
继承表单()
执行此操作。单击。添加(fun args->printfn“%s”)您的最后一个代码段与第一个代码段完全相同。有什么问题吗?我无法访问此代码段。控件或类似的内容在F#中,它表示“未定义名称空间或模块”。Q(主题外):为什么不是WPF?@Silent3241你应该在问题中提到这个问题。你知道,我们无法理解思想。但是我如何访问它。*因为当我像你的代码一样尝试时,我仍然会收到错误消息“名称空间或模块”this“未定义”@Silent3241你需要将type Form1()=
更改为type Form1()如下所示=
。
type Form1() as this =
inherit Form()
do this.Click.Add(fun args -> printfn "%s" <| args.ToString())