private PropertyRepresentation parsePropRep(PropertyInfo property) { string name = property.Name; ObjectType propType = ObjectType.toObjectType(property.PropertyType); PropertyRepresentation propRep = new PropertyRepresentation(propType, name); propRep.attributes = getAttributes(property); if (property.DeclaringType != property.ReflectedType) { propRep.inheritedFrom = property.DeclaringType.FullName; } propRep.modifiers.Add(convert(property.GetGetMethod(true))); if (propRep.modifiers.Contains(Member.Modifier.PRIVATE)) { return(null); } if (convert(property.GetGetMethod(true)) >= Member.Modifier.PROTECTED) { propRep.getter = true; } if (convert(property.GetSetMethod(true)) >= Member.Modifier.PROTECTED) { propRep.setter = true; } return(propRep); }
private void reflectProperties(ClassRepresentation rep, Type type) { foreach (PropertyInfo property in type.GetProperties(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)) { PropertyRepresentation proprep = parsePropRep(property); if (proprep != null) { proprep.modifiers.Add(Member.Modifier.STATIC); rep.staticProperties.Add(proprep); } } foreach (PropertyInfo property in type.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)) { PropertyRepresentation proprep = parsePropRep(property); if (proprep != null) { rep.instanceProperties.Add(proprep); } } }