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

  • Jose LviS el Bambino ( JLB )   LviSito

    Jose LviS el

    3 ŞUBAT 2008
  • Elefant Traks

    Elefant Trak

    5 HAZİRAN 2007
  • xSammyJoe1

    xSammyJoe1

    19 Temmuz 2011