Get private Properties/Method of base-class with reflection

.net, c#, reflection

Solution

To get all properties (public/private/protected/internal/static/instance) of a given `Type someType`, you must access the base class by using `someType.BaseType`.

Example:

PropertyInfo[] props = someType.BaseType.GetProperties(
        BindingFlags.NonPublic | BindingFlags.Public
        | BindingFlags.Instance | BindingFlags.Static)

Problem

With `Type.GetProperties()` you can retrieve all properties of your current class and the `public` properties of the base-class. Is it somehow possible to get the `private` properties of the base-class too? ``` 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(); ``` This will only print "Bar" because "Foo" is in the base-class and private.

Original source