SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DanceOn

    DanceOn

    6 Mayıs 2006
  • TeeMayneTV

    TeeMayneTV

    27 Kasım 2010