通过使用托管和非托管 IServiceProvider 接口,可以提供服务的对象。
继承层次结构
System.Object
Microsoft.VisualStudio.Data.Framework.ServiceProvider
Microsoft.VisualStudio.Data.Framework.DataSiteableServiceProvider<T>
命名空间: Microsoft.VisualStudio.Data.Framework
程序集: Microsoft.VisualStudio.Data.Framework(在 Microsoft.VisualStudio.Data.Framework.dll 中)
语法
声明
<ComVisibleAttribute(True)> _
Public Class ServiceProvider _
Implements IServiceContainer, IServiceProvider, IServiceProvider
[ComVisibleAttribute(true)]
public class ServiceProvider : IServiceContainer,
IServiceProvider, IServiceProvider
[ComVisibleAttribute(true)]
public ref class ServiceProvider : IServiceContainer,
IServiceProvider, IServiceProvider
[<ComVisibleAttribute(true)>]
type ServiceProvider =
class
interface IServiceContainer
interface IServiceProvider
interface IServiceProvider
end
public class ServiceProvider implements IServiceContainer, IServiceProvider, IServiceProvider
ServiceProvider 类型公开以下成员。
构造函数
名称 | 说明 | |
---|---|---|
![]() |
ServiceProvider() | 初始化托管或非托管 IServiceProvider的新实例。 |
![]() |
ServiceProvider(IServiceProvider) | 包装通过托管 IServiceProvider 接口访问的非托管 IServiceProvider 接口。 |
![]() |
ServiceProvider(IServiceProvider) | 初始化非托管 IServiceProvider 接口的新实例。 |
页首
属性
名称 | 说明 | |
---|---|---|
![]() |
ParentProvider | 获取父服务提供程序的当前实例。 |
页首
方法
名称 | 说明 | |
---|---|---|
![]() |
AddService(Type, ServiceCreatorCallback) | 向其中添加项时指定的服务到服务的内部集合。 |
![]() |
AddService(Type, Object) | 向其中添加项时指定的服务到服务的内部集合。 |
![]() |
AddService(Type, ServiceCreatorCallback, Boolean) | 向其中添加项时指定的服务到服务的内部集合或到父服务容器。 |
![]() |
AddService(Type, Object, Boolean) | 向其中添加项时指定的服务添加到服务对象的集合或到父服务容器。 |
![]() |
Equals | 确定指定的对象是否等于当前对象。 (继承自 Object。) |
![]() |
Finalize | 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。) |
![]() |
GetHashCode | 用作特定类型的哈希函数。 (继承自 Object。) |
![]() |
GetService(Guid) | 检索使用已指定的服务GUID的服务。 |
![]() |
GetService(Type) | 检索具有指定类型的服务。 |
![]() |
GetType | 获取当前实例的 Type。 (继承自 Object。) |
![]() |
MemberwiseClone | 创建当前 Object 的浅表副本。 (继承自 Object。) |
![]() |
RemoveService(Type) | 从内部服务集合中移除项时指定的服务 |
![]() |
RemoveService(Type, Boolean) | 移除项时指定的服务从内部服务集合或从父服务容器。 |
![]() |
ToString | 返回表示当前对象的字符串。 (继承自 Object。) |
页首
显式接口实现
名称 | 说明 | |
---|---|---|
![]() ![]() |
IServiceProvider.QueryService | 执行为通过 IServiceProvider的实现中显示的服务的一个工厂。 |
页首
备注
![]() |
---|
在语法块上方,选件类继承托管和非托管 IServiceProvider 接口派生。即第一个(非托管)从 IServiceProvider 接口和第二个派生(管理)从 IServiceProvider派生。 |
此选件类有两个用途。首先,它用于创建非托管组件或托管 IServiceProvider 接口的实现提供托管选件类。其次,它进行换行和扩展非托管组件或托管 IServiceProvider 接口的一个现有实现提供的选件类。
使用"管理友好的代码,需要在两种情况下,托管 IServiceProvider 接口来实现,对象的方式托管客户端可以使用对象进行通信。
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。