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

  • BioHunta

    BioHunta

    28 Mayıs 2006
  • Jeremy Gallman

    Jeremy Gallm

    11 NİSAN 2012
  • Sams Page :D

    Sams Page :D

    15 Mart 2009