Jayrock.Json.Conversion.Converters.ComponentImporter.ComponentImporter C# (CSharp) Method

ComponentImporter() public method

public ComponentImporter ( Type type, ICustomTypeDescriptor typeDescriptor, IObjectConstructor constructor ) : System
type System.Type
typeDescriptor ICustomTypeDescriptor
constructor IObjectConstructor
return System
        public ComponentImporter(Type type, ICustomTypeDescriptor typeDescriptor, IObjectConstructor constructor)
            : base(type)
        {
            if (typeDescriptor == null)
                typeDescriptor = new CustomTypeDescriptor(type);

            int count = 0;
            PropertyDescriptorCollection properties = typeDescriptor.GetProperties();
            IObjectMemberImporter[] importers = new IObjectMemberImporter[properties.Count];

            for (int i = 0; i < properties.Count; i++)
            {
                IServiceProvider sp = properties[i] as IServiceProvider;

                if (sp == null)
                    continue;

                IObjectMemberImporter importer = (IObjectMemberImporter) sp.GetService(typeof(IObjectMemberImporter));

                if (importer == null)
                    continue;

                importers[i] = importer;
                count++;
            }

            _properties = properties;

            if (count > 0)
                _importers = importers;

            _constructor = constructor;
        }

Same methods

ComponentImporter::ComponentImporter ( Type type ) : System
ComponentImporter::ComponentImporter ( Type type, ICustomTypeDescriptor typeDescriptor ) : System
ComponentImporter::ComponentImporter ( Type type, IObjectConstructor constructor ) : System