ServiceProvider 类

提供使用托管和非托管 IServiceProvider 接口,可以提供服务的对象。

继承层次结构

System.Object
  Microsoft.VisualStudio.Data.ServiceProvider
    Microsoft.VisualStudio.Data.DataConnection
    Microsoft.VisualStudio.Data.ServiceProviderWithSite

命名空间:  Microsoft.VisualStudio.Data
程序集:  Microsoft.VisualStudio.Data(在 Microsoft.VisualStudio.Data.dll 中)

语法

声明
<ComVisibleAttribute(True)> _
Public Class ServiceProvider _
    Implements IServiceProvider, IServiceProvider
[ComVisibleAttribute(true)]
public class ServiceProvider : IServiceProvider, 
    IServiceProvider
[ComVisibleAttribute(true)]
public ref class ServiceProvider : IServiceProvider, 
    IServiceProvider
[<ComVisibleAttribute(true)>]
type ServiceProvider =  
    class
        interface IServiceProvider
        interface IServiceProvider
    end
public class ServiceProvider implements IServiceProvider, IServiceProvider

ServiceProvider 类型公开以下成员。

构造函数

  名称 说明
受保护的方法 ServiceProvider() 类通过非托管 IServiceProvider 接口进行访问的托管服务提供程序(IServiceProvider)构造函数。
公共方法 ServiceProvider(IServiceProvider) 类包装通过托管 IServiceProvider 接口访问的非托管接口 IServiceProvider 构造函数。

页首

属性

  名称 说明
受保护的属性 ServiceTypes 检索服务类型列出的转换非托管 QueryService 方法调用,服务GUID指定,到托管 IServiceProvider.GetService 方法调用,托管类型指定。

页首

方法

  名称 说明
公共方法 Equals 确定指定的对象是否等于当前对象。 (继承自 Object。)
受保护的方法 Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法 GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
公共方法 GetService(Guid) 检索使用已指定的服务GUID的服务。
公共方法 GetService(Type) 检索具有指定类型的服务。
受保护的方法 GetServiceImpl(Guid) 为检索服务提供该实现以特定GUID。
受保护的方法 GetServiceImpl(Type) 提供用于检索特定类型的服务提供实现。
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)

页首

显式接口实现

  名称 说明
显式接口实现私有方法 IServiceProvider.QueryService 执行为通过IServiceProvider的实现中显示的服务的一个工厂。

页首

备注

说明说明

在语法块上方,选件类继承托管和非托管 IServiceProvider 接口派生。即第一个(非托管)是 IServiceProvider 接口和第二个(管理)是 IServiceProvider

此选件类有两个用途。首先,它在非托管 IServiceProvider 接口的提供托管包装。其次,它为实现非托管 IServiceProvider 接口提供的基类。

使用管理友好的代码,需要在两种情况下,托管 IServiceProvider 接口来实现,对象的方式托管客户端可以使用对象进行通信。

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.Data 命名空间