public Dictionary <PropertyInfo, PropertyMapping> FindAllowedProperties( TypeInfo objectType, DescriptorActions actions = DescriptorActions.Read, string[] whitelist = null, string[] blacklist = null) { if (objectType == null) { throw new ArgumentNullException(nameof(objectType)); } var actionable = new Dictionary <PropertyInfo, PropertyMapping>(); var ignoreIsWritable = !actions.HasFlag(DescriptorActions.Read); foreach (var pi in objectType.GetProperties(BindingFlags.Instance | BindingFlags.Public)) { var attributes = pi.GetCustomAttributes(true); if ((ignoreIsWritable || pi.CanWrite) && IsActionableProperty(pi, attributes, actions)) { actionable.Add(pi, new PropertyMapping(pi, ResolveAlias(pi, attributes))); } } return(actionable); }
public Dictionary<PropertyInfo, PropertyMapping> FindAllowedProperties( Type objectType, DescriptorActions actions = DescriptorActions.Read, string[] whitelist = null, string[] blacklist = null) { if (objectType == null) throw new ArgumentNullException(nameof(objectType)); var actionable = new Dictionary<PropertyInfo, PropertyMapping>(); var ignoreIsWritable = !actions.HasFlag(DescriptorActions.Read); foreach (var pi in objectType.GetProperties(BindingFlags.Instance | BindingFlags.Public)) { var attributes = pi.GetCustomAttributes(true); if ((ignoreIsWritable || pi.CanWrite) && IsActionableProperty(pi, attributes, actions)) actionable.Add(pi, new PropertyMapping(pi, ResolveAlias(pi, attributes))); } return actionable; }