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

  • Branboy3

    Branboy3

    12 AĞUSTOS 2012
  • gadgetgal38

    gadgetgal38

    9 HAZİRAN 2009
  • Marina and The Diamonds

    Marina and T

    8 Temmuz 2008