現在の環境に基づいて DDEX プロバイダー、サポートされるソースと特定の操作のサポートも変更機能を提供します。
名前空間: Microsoft.VisualStudio.Data.Core
アセンブリ: Microsoft.VisualStudio.Data.Core (Microsoft.VisualStudio.Data.Core.dll 内)
構文
'宣言
Public Interface IVsDataProviderDynamicSupport
public interface IVsDataProviderDynamicSupport
public interface class IVsDataProviderDynamicSupport
type IVsDataProviderDynamicSupport = interface end
public interface IVsDataProviderDynamicSupport
IVsDataProviderDynamicSupport 型で公開されるメンバーは以下のとおりです。
プロパティ
| 名前 | 説明 | |
|---|---|---|
![]() |
IsProviderSupported | プロバイダーが現在の環境でサポートされているかどうかを示す値を取得します。 |
このページのトップへ
メソッド
| 名前 | 説明 | |
|---|---|---|
![]() |
GetUnsupportedReason | 操作がサポートされていない指定 DDEX のデータ ソースの理由を説明するローカライズされた文字列を取得します。 |
![]() |
IsOperationSupported | 特定の操作が現在の環境でサポートされている指定 DDEX のデータ ソースでかどうかを判断します。 |
![]() |
IsSourceSupported | 特定 DDEX のデータ ソースが現在の環境でこの DDEX プロバイダーでサポートされるかどうかを示す値を取得します。 |
このページのトップへ
解説
DDEX プロバイダーは、Visual Studio のローカルなレジストリ ハイブに特定のレジストリ キーを追加すると、Visual Studio の特定のインストールの有無を登録します。通常の状況では、登録はプロバイダーがあり、Visual Studio のインスタンスで使用可能であることを示します。ただし、一部の状況では DDEX プロバイダーを環境でサポートする必要があるか、特定のデータ ソースまたは特定の操作をサポートするかどうかを動的に決定できるようにする必要があります。これは DDEX のプロバイダーが使用するか、対象とする特定のコンポーネントが、DDEX プロバイダーがデザイン時に表すたとえば、ADO.NET ランタイム プロバイダー インストールされている場合です。
このサポートのエンティティはデータ ソースによって、特定のサポートされている操作が与えられ環境で使用できる選択したことを DDEX プロバイダーを有効にします。データ プロバイダーまたはデータ ソースが IVsDataProviderManager と IVsDataSourceManager サービスによって列挙され、が返されるかどうかを最初の 2 個のオプションの影響、それぞれ。3 つ目 IsOperationSupported と GetUnsupportedReason のメソッドの動作に影響を与えます。
例
次のコードは DDEX プロバイダーが特定のレジストリ キーが存在して、デザイン時に動的に可用性を変更する固有のロジックのこのサポートのエンティティを実装するかを示します。
using System;
using System.ComponentModel.Design;
using Microsoft.Win32;
using Microsoft.VisualStudio.Data.Core;
internal class MyProviderDynamicSupport : IVsDataProviderDynamicSupport
{
public bool IsProviderSupported
{
get
{
RegistryKey key = Registry.LocalMachine.OpenSubKey(
@"SOFTWARE\Company\AdoDotNetProvider");
if (key == null)
{
return false;
}
key.Close();
return true;
}
}
public bool IsSourceSupported(Guid source)
{
return true;
}
public bool IsOperationSupported(
Guid source, CommandID command, object context)
{
return true;
}
public string GetUnsupportedReason(
Guid source, CommandID command, object context)
{
return null;
}
}
.gif)
.gif)