16 Aralık 2008, Salı
Nesne başlatma sözdizimi
Sadece F ile başlıyorum# ve C gibi nesne başlatma yapmak için sözdizimi# 3 bulamıyorum.
I. e. verilen bu
public class Person {
public DateTime BirthDate { get; set; }
public string Name { get; set; }
}
nasıl F aşağıdaki yazayım#:
var p = new Person { Name = "John", BirthDate = DateTime.Now };
CEVAP
16 Aralık 2008, Salı
CMS dan cevap kesinlikle doğru. Burada da yardımcı olabilecek sadece bir ek. F#, sık sık bu tür sadece değişmez özelliklerini kullanarak yazmak istiyorum. Kullanarak "" sözdizimi özellikleri değişken olmak zorunda. nesne başlatıcı zaman F alternatif# benzer bir sözdizimi sağlar, ama bazı şeyler değişmez tutan bağımsız değişken adı kullanın:
type Person(name:string, ?birthDate) =
member x.Name = name
member x.BirthDate = defaultArg birthDate System.DateTime.MinValue
Şimdi yazabiliriz:
let p1 = new Person(name="John", birthDate=DateTime.Now)
let p2 = new Person(name="John")
Kod adı belirtmeniz gerekir, ama yıllar bazı varsayılan değer olarak, isteğe bağlı bir değişkendir.
Bunu Paylaş:
“Hata VM başlatma sırasında bir hata o...
Dizi başlatma bildiriminde değilken sö...
JavaScript nesne algılama: sözdizimi k...
Bir dict başlatma için tercih edilen s...
Olası C# dizi başlatma sözdizimi...