共用方式為


IVsDataProviderDynamicSupport 介面

可讓您根據目前環境修改 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 讓提供者選項時,它可以在環境時,資料來源,它可以支援,並提供特定的作業。 前兩個選項會影響資料提供者和資料來源是否由 IVsDataProviderManagerIVsDataSourceManager 服務列舉並傳回,分別。 第三個選項會影響 IsOperationSupportedGetUnsupportedReason 方法的行為。

範例

下列程式碼示範 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;
    }
}

請參閱

參考

Microsoft.VisualStudio.Data.Core 命名空間