次の方法で共有


ServiceProvider クラス

マネージ コードと IServiceProvider のアンマネージ インターフェイスの両方を使用してサービスを提供できるオブジェクトを提供します。

継承階層

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 のアンマネージ インターフェイスの両方から取得します。つまり、1 番 IServiceProvider インターフェイス、および 2 ~ IServiceProvider (アンマネージ) (マネージ) を取得します。

このクラスは 2 種類の目的に使用されます。 まず、アンマネージの実装を作成するためにマネージ クラスを提供したり、IServiceProvider のインターフェイスを管理します。 第 2 に、アンマネージの既存の実装をラップし、拡張するマネージ クラスを提供したり、IServiceProvider のインターフェイスを管理します。

両方の場合は、マネージ IServiceProvider のインターフェイスも実装されます。そのため、オブジェクトのマネージ クライアントはオブジェクトとマネージに適したコードを使用して通信できます。

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

参照

関連項目

Microsoft.VisualStudio.Data.Framework 名前空間