ServiceProviders Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Provides an implementation for the IServiceProvider interface with methods that enable adding services.

Namespace:   System.Windows.Markup
Assembly:  WindowsBase (in WindowsBase.dll)

public class ServiceProviders : IServiceProvider


Initializes a new instance of the ServiceProviders class.

System_CAPS_pubmethodAddService(Type, Object)

Adds a service to the list.


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)


Serves as the default hash function. (Inherited from Object.)


Gets the service object of the specified type.


Gets the Type of the current instance.(Inherited from Object.)


Creates a shallow copy of the current Object.(Inherited from Object.)


Returns a string that represents the current object.(Inherited from Object.)

This is a utility class for use when serializing content. The class is basically an input-only dictionary for storing services keyed by their service type, which implements IServiceProvider for later retrieval from the same dictionary. Using the dictionary avoids querying for the same service repeatedly. This class is the base class of XamlDesignerSerializationManager, which is the service used for ShouldSerialize method implementations in other parts of WPF.

Using this class requires referencing WPF assemblies, it is not intended for general .NET Framework XAML Services scenarios. The scenario here is for WPF internal implementation of service-intensive features during serialization, such as when processing the ShouldSerialize implementations of certain types. The practical class involved in this scenario is the derived class XamlDesignerSerializationManager.

.NET Framework
Available since 3.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top