﻿<?xml version="1.0" encoding="utf-8"?><Type Name="IServiceContainer" FullName="System.ComponentModel.Design.IServiceContainer"><TypeSignature Language="C#" Maintainer="auto" Value="public interface IServiceContainer : IServiceProvider" /><TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IServiceContainer implements class System.IServiceProvider" /><AssemblyInfo><AssemblyName>System</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey><AssemblyVersion>1.0.3300.0</AssemblyVersion><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement><Interfaces><Interface><InterfaceName>System.IServiceProvider</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>A service container is, by definition, a service provider. In addition to providing services, it also provides a mechanism for adding and removing services. Services are a foundation of the .NET Framework design-time architecture. Services provide design-time objects access to specific features and methods implemented by a service object that provides a service or services.</para><para>To obtain a service at design time, call the <see cref="M:System.ComponentModel.Component.GetService(System.Type)" /> method of a component sited in design mode. Designers and other objects can add or remove services at design time through the <see cref="T:System.ComponentModel.Design.IDesignerHost" /> interface.</para><para>Service containers can be contained by other service containers, forming a tree of service containers. By default, the <see cref="T:System.ComponentModel.Design.IServiceContainer" /> interface adds services to the closest service container. When a service is added, it can be added with instructions to promote it. When a service is promoted, it is added to any parent service container, on up until the top of the service container tree is reached. This allows a designer to provide a global service that other objects in the process can use.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Provides a container for services.</para></summary></Docs><Members><Member MemberName="AddService"><MemberSignature Language="C#" Value="public void AddService (Type serviceType, System.ComponentModel.Design.ServiceCreatorCallback callback);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddService(class System.Type serviceType, class System.ComponentModel.Design.ServiceCreatorCallback callback) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="serviceType" Type="System.Type" /><Parameter Name="callback" Type="System.ComponentModel.Design.ServiceCreatorCallback" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Adds the specified service to the service container.</para></summary><param name="serviceType"><attribution license="cc4" from="Microsoft" modified="false" />The type of service to add. </param><param name="callback"><attribution license="cc4" from="Microsoft" modified="false" />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. </param></Docs></Member><Member MemberName="AddService"><MemberSignature Language="C#" Value="public void AddService (Type serviceType, object serviceInstance);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddService(class System.Type serviceType, object serviceInstance) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="serviceType" Type="System.Type" /><Parameter Name="serviceInstance" Type="System.Object" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Adds the specified service to the service container.</para></summary><param name="serviceType"><attribution license="cc4" from="Microsoft" modified="false" />The type of service to add. </param><param name="serviceInstance"><attribution license="cc4" from="Microsoft" modified="false" />An instance of the service type to add. This object must implement or inherit from the type indicated by the <paramref name="serviceType" /> parameter. </param></Docs></Member><Member MemberName="AddService"><MemberSignature Language="C#" Value="public void AddService (Type serviceType, System.ComponentModel.Design.ServiceCreatorCallback callback, bool promote);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddService(class System.Type serviceType, class System.ComponentModel.Design.ServiceCreatorCallback callback, bool promote) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="serviceType" Type="System.Type" /><Parameter Name="callback" Type="System.ComponentModel.Design.ServiceCreatorCallback" /><Parameter Name="promote" Type="System.Boolean" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Adds the specified service to the service container, and optionally promotes the service to parent service containers.</para></summary><param name="serviceType"><attribution license="cc4" from="Microsoft" modified="false" />The type of service to add. </param><param name="callback"><attribution license="cc4" from="Microsoft" modified="false" />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. </param><param name="promote"><attribution license="cc4" from="Microsoft" modified="false" />true to promote this request to any parent service containers; otherwise, false. </param></Docs></Member><Member MemberName="AddService"><MemberSignature Language="C#" Value="public void AddService (Type serviceType, object serviceInstance, bool promote);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddService(class System.Type serviceType, object serviceInstance, bool promote) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="serviceType" Type="System.Type" /><Parameter Name="serviceInstance" Type="System.Object" /><Parameter Name="promote" Type="System.Boolean" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Adds the specified service to the service container, and optionally promotes the service to any parent service containers.</para></summary><param name="serviceType"><attribution license="cc4" from="Microsoft" modified="false" />The type of service to add. </param><param name="serviceInstance"><attribution license="cc4" from="Microsoft" modified="false" />An instance of the service type to add. This object must implement or inherit from the type indicated by the <paramref name="serviceType" /> parameter. </param><param name="promote"><attribution license="cc4" from="Microsoft" modified="false" />true to promote this request to any parent service containers; otherwise, false. </param></Docs></Member><Member MemberName="RemoveService"><MemberSignature Language="C#" Value="public void RemoveService (Type serviceType);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void RemoveService(class System.Type serviceType) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="serviceType" Type="System.Type" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Removes the specified service type from the service container.</para></summary><param name="serviceType"><attribution license="cc4" from="Microsoft" modified="false" />The type of service to remove. </param></Docs></Member><Member MemberName="RemoveService"><MemberSignature Language="C#" Value="public void RemoveService (Type serviceType, bool promote);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void RemoveService(class System.Type serviceType, bool promote) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="serviceType" Type="System.Type" /><Parameter Name="promote" Type="System.Boolean" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Removes the specified service type from the service container, and optionally promotes the service to parent service containers.</para></summary><param name="serviceType"><attribution license="cc4" from="Microsoft" modified="false" />The type of service to remove. </param><param name="promote"><attribution license="cc4" from="Microsoft" modified="false" />true to promote this request to any parent service containers; otherwise, false. </param></Docs></Member></Members></Type>