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

  • Autodesk 3ds Max Learning Channel

    Autodesk 3ds

    23 HAZİRAN 2010
  • DavidParody

    DavidParody

    17 EKİM 2009
  • hanksranger

    hanksranger

    6 EKİM 2009