Erhalte private Eigenschaften / Methode der Basisklasse mit Reflektion
Mit Type.GetProperties()
können Sie abrufen, alle Eigenschaften der aktuellen Klasse und der public
Eigenschaften der Basis-Klasse. Ist es irgendwie möglich, um die private
Eigenschaften der Basis-Klasse zu?
Dank
class Base
{
private string Foo { get; set; }
}
class Sub : Base
{
private string Bar { get; set; }
}
Sub s = new Sub();
PropertyInfo[] pinfos = s.GetType().GetProperties(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static);
foreach (PropertyInfo p in pinfos)
{
Console.WriteLine(p.Name);
}
Console.ReadKey();
Diese wird nur print "Bar", weil "Foo" ist in der Basis-Klasse und privat.
InformationsquelleAutor der Frage Fabiano | 2010-02-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um alle Eigenschaften (public + private/protected/internal", " static + Instanz) eines bestimmten
Type someType
(vielleicht mitGetType()
zu bekommensomeType
):InformationsquelleAutor der Antwort Marc Gravell
Durchlaufen der Basis-Typen (type = Typ.BaseType), bis Typ.BaseType null.
InformationsquelleAutor der Antwort user1785960