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

  • Alfredo Garcia

    Alfredo Garc

    25 Mayıs 2007
  • Caroline Martin

    Caroline Mar

    19 EYLÜL 2008
  • Dom Esposito

    Dom Esposito

    26 Mayıs 2011