コード例 #1
0
        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);
        }
コード例 #2
0
        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);
                }
            }
        }