Поделиться через


IVsDataProviderDynamicSupport.GetUnsupportedReason - метод

Возвращает локализованную строку, описывающую причину операция не поддерживается для указанного источника данных DDEX.

Пространство имен:  Microsoft.VisualStudio.Data.Core
Сборка:  Microsoft.VisualStudio.Data.Core (в Microsoft.VisualStudio.Data.Core.dll)

Синтаксис

'Декларация
Function GetUnsupportedReason ( _
    source As Guid, _
    command As CommandID, _
    context As Object _
) As String
string GetUnsupportedReason(
    Guid source,
    CommandID command,
    Object context
)
String^ GetUnsupportedReason(
    Guid source, 
    CommandID^ command, 
    Object^ context
)
abstract GetUnsupportedReason : 
        source:Guid * 
        command:CommandID * 
        context:Object -> string 
function GetUnsupportedReason(
    source : Guid, 
    command : CommandID, 
    context : Object
) : String

Параметры

  • source
    Тип: System.Guid
    Идентификатор источника данных DDEX.
  • context
    Тип: System.Object
    Объект, представляющий контекст, в течение которого операция существует.

Возвращаемое значение

Тип: System.String
Локализованная строка, описывающая, почему указанная операция не поддерживается, если операция фактически не поддерживается; в противном случае – значение nullссылка NULL (Nothing в Visual Basic).

Исключения

Исключение Условие
ArgumentNullException

Значение параметра command — nullссылка NULL (Nothing в Visual Basic).

ArgumentException

Параметр context не является ожидаемым значением для указанной операции.

Заметки

Этот метод позволяет поставщикам DDEX, чтобы возвратить конкретную причину, что операция не поддерживается.Клиенты DDEX могут отображать эту причину для пользователя.

Примеры

В следующем примере кода показано, как реализовать этот метод, чтобы вернуть полезную сообщение, когда команда не поддерживается развертывание на узле подключения в обозревателе данных.

using System;
using System.ComponentModel.Design;
using Microsoft.Win32;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Services;

public class MyProviderDynamicSupport2 : IVsDataProviderDynamicSupport
{
    private static readonly CommandID DeployCommand =
        new CommandID(new Guid("6535F307-2083-4cbb-B2FA-11F2DCD69DAF"), 25);

    public bool IsProviderSupported
    {
        get
        {
            return true;
        }
    }

    public bool IsSourceSupported(Guid source)
    {
        return true;
    }

    public bool IsOperationSupported(
        Guid source, CommandID command, object context)
    {
        if (command == null)
        {
            throw new ArgumentNullException("command");
        }
        if (command.Equals(DeployCommand))
        {
            IVsDataExplorerConnection explorerConnection =
                context as IVsDataExplorerConnection;
            if (explorerConnection == null)
            {
                throw new ArgumentException();
            }
            RegistryKey key = Registry.LocalMachine.OpenSubKey(
                @"SOFTWARE\Company\DeployTechnology");
            if (key == null)
            {
                return false;
            }
            key.Close();
        }
        return true;
    }

    public string GetUnsupportedReason(
        Guid source, CommandID command, object context)
    {
        if (command == null)
        {
            throw new ArgumentNullException("command");
        }
        if (command.Equals(DeployCommand) &&
            !IsOperationSupported(source, command, context))
        {
            // Note: This string should be localized
            return "In order to deploy a database you need to install our deployment technology.";
        }
        return null;
    }
}

Безопасность платформы .NET Framework

См. также

Ссылки

IVsDataProviderDynamicSupport Интерфейс

Microsoft.VisualStudio.Data.Core - пространство имен