bool TryGetEntityProperty(MemberInfo memberInfo, ref Dictionary <string, List <EditorProperty> > folders) { EditorPropertyAttribute propertyAttribute; if (memberInfo.TryGetAttribute(out propertyAttribute)) { Type memberType = null; switch (memberInfo.MemberType) { case MemberTypes.Field: memberType = (memberInfo as FieldInfo).FieldType; break; case MemberTypes.Property: memberType = (memberInfo as PropertyInfo).PropertyType; break; } var limits = new EditorPropertyLimits(propertyAttribute.Min, propertyAttribute.Max); var property = new EditorProperty(propertyAttribute.Name ?? memberInfo.Name, propertyAttribute.Description, Entity.GetEditorType(memberType, propertyAttribute.Type), limits, propertyAttribute.Flags); if (propertyAttribute.Folder == null) { propertyAttribute.Folder = "Default"; } if (!folders.ContainsKey(propertyAttribute.Folder)) { folders.Add(propertyAttribute.Folder, new List <EditorProperty>()); } folders[propertyAttribute.Folder].Add(property); return(true); } return(false); }
bool TryGetEntityProperty(MemberInfo memberInfo, ref Dictionary<string, List<EditorProperty>> folders) { EditorPropertyAttribute propertyAttribute; if (memberInfo.TryGetAttribute(out propertyAttribute)) { Type memberType = null; switch (memberInfo.MemberType) { case MemberTypes.Field: memberType = (memberInfo as FieldInfo).FieldType; break; case MemberTypes.Property: memberType = (memberInfo as PropertyInfo).PropertyType; break; } var limits = new EditorPropertyLimits(propertyAttribute.Min, propertyAttribute.Max); var property = new EditorProperty(propertyAttribute.Name ?? memberInfo.Name, propertyAttribute.Description, Entity.GetEditorType(memberType, propertyAttribute.Type), limits, propertyAttribute.Flags); if (propertyAttribute.Folder == null) propertyAttribute.Folder = "Default"; if (!folders.ContainsKey(propertyAttribute.Folder)) folders.Add(propertyAttribute.Folder, new List<EditorProperty>()); folders[propertyAttribute.Folder].Add(property); return true; } return false; }