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

  • failblog

    failblog

    17 HAZİRAN 2008
  • michellefeng's channel

    michellefeng

    26 Kasım 2006
  • PlayStation

    PlayStation

    16 Aralık 2005