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.
- command
Тип: System.ComponentModel.Design.CommandID
Команда, определяющий операцию.
- 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
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.