SORU
25 ŞUBAT 2011, Cuma


Nasıl Guıd için bir parametre varsayılan edebilirim.C boş#?

Söylemek istediğim:

public void Problem(Guid optional = Guid.Empty)
{
}

Ancak derleyici bu Guıd yakınıyor.Boş bir derleme zamanı sabiti.

API değiştirmek istemiyorum olarak kullanamam:

 Nullable<Guid>

CEVAP
25 ŞUBAT 2011, Cuma


Guid.Empty default(Guid) denk new Guid(), eşdeğerdir. Kullanabilirsiniz:

public void Problem(Guid optional = default(Guid))

ya

public void Problem(Guid optional = new Guid())

new Foo() değeri olduğunu unutmayınsadecegeçerli zaman:

  • Gerçekten diyorsunparametresizkurucu
  • Foo değer türüdür

Derleyici gerçekten sadece varsayılan değer olduğunu bilirken diğer bir deyişle, yazın için :)

(İlginçtir, 99.9% ben eminimolmaznew Foo() oluşturmuş olabilirsiniz yapıcı herhangi bir özel arama. Bir değer C tipi bir kurucu oluşturmak mümkün değil# amaolabiliryani IL.)

default(Foo) seçeneği için kullanabilirsinizherhangi biryazın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Gavin Hoey

    Gavin Hoey

    21 Aralık 2007
  • Justin Case

    Justin Case

    3 EKİM 2011
  • Marina and The Diamonds

    Marina and T

    8 Temmuz 2008