public class TestClass { public string property1 { get; set; } public string property2 { get; set; } internal string property3 { get; set; }
by specifying what bindingflags in GetProperties:
foreach (PropertyInfo property in typeof(TestClass).GetProperties( BindingFlags.Instance| BindingFlags.Public| BindingFlags.NonPublic))