Pomona.TypeMapper.LoadProperties C# (CSharp) Method

LoadProperties() public method

public LoadProperties ( TypeSpec typeSpec ) : IEnumerable
typeSpec TypeSpec
return IEnumerable
        public override IEnumerable<PropertySpec> LoadProperties(TypeSpec typeSpec)
        {
            if (typeSpec is ComplexType || typeSpec is ResourceType)
            {
                var propertiesFromNonMappedInterfaces = typeSpec.Type.IsInterface
                    ? typeSpec.Type.GetInterfaces().Where(x => !Filter.TypeIsMapped(x)).SelectMany(
                        x => Filter.GetAllPropertiesOfType(x, BindingFlags.Instance | BindingFlags.Public))
                    : Enumerable.Empty<PropertyInfo>();

                return Filter.GetAllPropertiesOfType(typeSpec,
                                                     BindingFlags.Instance | BindingFlags.Static
                                                     | BindingFlags.Public
                                                     | BindingFlags.NonPublic)
                             .Concat(propertiesFromNonMappedInterfaces)
                             .Where(x => Filter.PropertyIsIncluded(typeSpec.Type, x))
                             .Select(x => WrapProperty(typeSpec, x));
            }

            return base.LoadProperties(typeSpec);
        }