private static IDictionary <string, MagicProperty> LoadMagicProperties(Type type, IEnumerable <PropertyInfo> properties) { var magic = new Dictionary <string, MagicProperty>(StringComparer.CurrentCultureIgnoreCase); foreach (var property in properties) { if (property.GetIndexParameters().Length > 0) { continue; } var name = _configuration.AliasFor(type, property.Name); var ignored = _configuration.IsIgnored(type, property.Name); var ignoredIfNull = _configuration.IsIgnoredIfNull(type, property.Name); magic.Add(name, new MagicProperty(property, name, ignored, ignoredIfNull)); } return(magic); }