SORU
10 NİSAN 2009, Cuma


Nasıl bir sınıf özellikleri listesini almak için?

Nasıl bir sınıfın tüm özelliklerini bir liste alabilirim?

CEVAP
10 NİSAN 2009, Cuma


Yansıma; bir örneği için:

obj.GetType().GetProperties();

bir türü:

typeof(Foo).GetProperties();

örneğin:

class Foo {
    public int A {get;set;}
    public string B {get;set;}
}
...
Foo foo = new Foo {A = 1, B = "abc"};
foreach(var prop in foo.GetType().GetProperties()) {
    Console.WriteLine("{0}={1}", prop.Name, prop.GetValue(foo, null));
}

Aşağıdaki yorum

  • Statik özelliklerini değerini elde etmek için, GetValue ilk argüman olarak null pass
  • Halka açık olmayan özelliklerini aramak için kullanın (örneğin) GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) tüm kamu/özel örnek özellikleri verir ).

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jason Parker

    Jason Parker

    14 Aralık 2009
  • MisterBrightside

    MisterBright

    24 Mart 2006
  • pleated-jeans

    pleated-jean

    6 HAZİRAN 2013