using System; using System.Runtime.InteropServices; namespace System.ComponentModel.Design { /// Provides a container for services. // Token: 0x0200004B RID: 75 [ComVisible(true)] public interface IServiceContainer : IServiceProvider { /// Adds the specified service to the service container. /// The type of service to add. /// An instance of the service type to add. This object must implement or inherit from the type indicated by the parameter. // Token: 0x0600030D RID: 781 void AddService(Type serviceType, object serviceInstance); /// Adds the specified service to the service container. /// The type of service to add. /// A callback object that is used to create the service. This allows a service to be declared as available, but delays the creation of the object until the service is requested. // Token: 0x0600030E RID: 782 void AddService(Type serviceType, ServiceCreatorCallback callback); /// Adds the specified service to the service container, and optionally promotes the service to any parent service containers. /// The type of service to add. /// An instance of the service type to add. This object must implement or inherit from the type indicated by the parameter. /// true to promote this request to any parent service containers; otherwise, false. // Token: 0x0600030F RID: 783 void AddService(Type serviceType, object serviceInstance, bool promote); /// Adds the specified service to the service container, and optionally promotes the service to parent service containers. /// The type of service to add. /// A callback object that is used to create the service. This allows a service to be declared as available, but delays the creation of the object until the service is requested. /// true to promote this request to any parent service containers; otherwise, false. // Token: 0x06000310 RID: 784 void AddService(Type serviceType, ServiceCreatorCallback callback, bool promote); /// Removes the specified service type from the service container. /// The type of service to remove. // Token: 0x06000311 RID: 785 void RemoveService(Type serviceType); /// Removes the specified service type from the service container, and optionally promotes the service to parent service containers. /// The type of service to remove. /// true to promote this request to any parent service containers; otherwise, false. // Token: 0x06000312 RID: 786 void RemoveService(Type serviceType, bool promote); } }