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

  • Grace Su

    Grace Su

    6 Ocak 2006
  • Muse

    Muse

    28 EYLÜL 2006
  • Thehalopianoplayer

    Thehalopiano

    4 ŞUBAT 2011