ServiceProvider Class

Provides an object that can proffer services by using both the managed and unmanaged IServiceProvider interfaces.

Namespace:  Microsoft.VisualStudio.Data.Framework
Assembly:  Microsoft.VisualStudio.Data.Framework (in Microsoft.VisualStudio.Data.Framework.dll)

Syntax

<ComVisibleAttribute(True)> _
Public Class ServiceProvider _
    Implements IServiceContainer, IServiceProvider, IServiceProvider

Dim instance As ServiceProvider
[ComVisibleAttribute(true)]
public class ServiceProvider : IServiceContainer, 
    IServiceProvider, IServiceProvider
[ComVisibleAttribute(true)]
public ref class ServiceProvider : IServiceContainer, 
    IServiceProvider, IServiceProvider
public class ServiceProvider implements IServiceContainer, IServiceProvider, IServiceProvider

Remarks

Notes

In the syntax block above, the class inheritance derives from both the managed and the unmanaged IServiceProvider interfaces. That is, the first (unmanaged) derives from the IServiceProvider interface and the second (managed) derives from IServiceProvider.

This class serves two purposes. First, it provides a managed class for creating an implementation of the unmanaged or managed IServiceProvider interfaces. Second, it provides a managed class for wrapping and extending an existing implementation of the unmanaged or managed IServiceProvider interfaces.

For both cases, the managed IServiceProvider interface is also implemented, so managed clients of the object can communicate with the object by using managed-friendly code.

Inheritance Hierarchy

System.Object
  Microsoft.VisualStudio.Data.Framework.ServiceProvider
    Microsoft.VisualStudio.Data.Framework.DataSiteableServiceProvider<T>

Thread Safety

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

See Also

Reference

ServiceProvider Members

Microsoft.VisualStudio.Data.Framework Namespace