Inheritance: System.Attribute
        void IComponentContainer.RegisterObject(object objectInstance)
        {
            if (objectInstance == null)
            {
                throw new ArgumentNullException("objectInstance");
            }

            Type objectType = objectInstance.GetType();

            object[] attrs = objectType.GetCustomAttributes(typeof(ServiceAttribute), /* inherit */ true);

            if ((attrs != null) && (attrs.Length != 0))
            {
                for (int i = 0; i < attrs.Length; i++)
                {
                    ServiceAttribute service = (ServiceAttribute)attrs[i];
                    ((IComponentContainer)this).RegisterObject(service.ServiceType, objectInstance);
                }
            }
            else
            {
                ((IComponentContainer)this).RegisterObject(objectType, objectInstance);
            }
        }