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); } }