如何在F#中创建类实例并填充属性?

boh*_*nko 3 syntax f# c#-to-f#

在C#中,我可以:

var n = new Person()
{
     FirstName = "John",
     LastName = "Smith"
};
Run Code Online (Sandbox Code Playgroud)

我可以在F#中做同样的事情吗?我的意思是,创建一个类指定一些属性.

kvb*_*kvb 14

是:

let n = Person(FirstName = "John", LastName = "Smith")
Run Code Online (Sandbox Code Playgroud)

请注意,F#方法实际上比C#方法更灵活,因为您可以在任何方法调用(不仅仅是构造函数)中使用"post hoc"属性赋值.例如,如果Person类型有一个名为static的方法CreatePerson : string -> Person,它创建一个新人并指定名字,你也可以使用它:

let n = Person.CreatePerson("John", LastName = "Smith")
Run Code Online (Sandbox Code Playgroud)

  • +1不知道这适用于方法调用. (3认同)