SORU
29 Temmuz 2009, ÇARŞAMBA


C anonim tür özelliğine nasıl erişileceğini#?

Bu var:

List<object> nodes = new List<object>(); 

nodes.Add(
new {
    Checked		= false,
    depth		= 1,
    id			= "div_"   d.Id
});

... ve eğer alabilirsem merak ediyorum "" isimsiz nesne. özellik Kontrol Eğer bu mümkün olup olmadığından emin değilim. Bunu yapmaya çalıştı

if (nodes.Any(n => n["Checked"] == false)) ... ama bir işe yaramıyor.

Teşekkürler

CEVAP
29 Temmuz 2009, ÇARŞAMBA


Eğer tür nesneyi saklıyorsanız object, yansıma kullanmanız gerekir. Bu herhangi bir nesne türü gerçek, ya da başka anonim. Bir nesne o, kendi türü:

Type t = o.GetType();

Bu bir özellik sen bak o zaman:

PropertyInfo p = t.GetProperty("Foo");

Bundan bir değer elde edebilirsiniz:

object v = p.GetValue(o, null);

Bu cevap uzun C# 4: bir güncelleştirme için gecikti

dynamic d = o;
object v = d.Foo;

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Peyton

    Peyton

    28 Aralık 2008
  • TheForgottenGamer1

    TheForgotten

    28 AĞUSTOS 2009
  • World Science Festival

    World Scienc

    1 Mayıs 2008