SORU
8 HAZİRAN 2010, Salı


dinamik, Nasıl eğer bir özelliği varsa test etmek için

Senaryo çok basit kodda bir yerde bu var

dynamic myVariable = GetDataThatLooksVerySimilarButNotTheSame();

 //how to do this?
 if (myVariable.MyProperty.Exists)   
 //Do stuff

Belirli bir özellik benim dinamik değişken olarak kullanılabilir (özel durumlar kaçınarak) kontrol etmek için nasıl bu kadar basitçe bir soru. Ben yapabilirim GetType() ama bence kaçının, ben gerçekten bilmek istiyorum türünün nesne bilmek istediğim bir özellik (veya yöntem varsa o yapar hayat daha kolay) mevcuttur Herhangi bir işaret var mı?

CEVAP
24 NİSAN 2011, Pazar


Bence yok yol bulmak ister dynamic değişken vardır Bazı Üye Olmadan çalışıyor erişimi, sürece yeniden hayata yol dinamik bağlama işlenen C# derleyici. Muhtemelen uygulama tanımlı,# şartname C göre, çünkü sanırım bir sürü vardır.

Aslında eğer başarısız olursa üye erişimi ve bir özel durum yakalamak için denemek gerekir, böylece:

dynamic myVariable = GetDataThatLooksVerySimilarButNotTheSame();

try
{
    var x = myVariable.MyProperty;
    // do stuff with x
}
catch (RuntimeBinderException)
{
    //  MyProperty doesn't exist
} 

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Māris Zaharovs

    Māris Zahar

    28 Mayıs 2008
  • tychoadragmire

    tychoadragmi

    20 Mart 2006
  • Vicious Computers

    Vicious Comp

    14 EKİM 2006