[英]How do I create a class instance and fill properties in F#?
在C#中,我可以:
var n = new Person()
{
FirstName = "John",
LastName = "Smith"
};
我可以在F#中做同樣的事情嗎? 我的意思是,創建一個類並指定一些屬性。
是:
let n = Person(FirstName = "John", LastName = "Smith")
請注意,F#方法實際上比C#方法更靈活,因為您可以在任何方法調用(不僅僅是構造函數)中使用“post hoc”屬性賦值。 例如,如果Person
類型有一個名為CreatePerson : string -> Person
的靜態方法CreatePerson : string -> Person
,它創建一個新人並指定名字,你也可以使用它:
let n = Person.CreatePerson("John", LastName = "Smith")
type Person() =
[<DefaultValue>]
val mutable firstName : string
[<DefaultValue>]
val mutable lastName : string
member x.FirstName
with get() = x.firstName
and set(v) = x.firstName <- v
member x.LastName
with get() = x.lastName
and set(v) = x.lastName <- v
let p = new Person(FirstName = "Nyi", LastName = "Than")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.