Compartir a través de


IVsDataProvider.GetUnsupportedReason (Método) (Guid, CommandID, Object)

获取特定的已本地化的字符串操作的原因没有为指定的 DDEX 数据源支持。

Espacio de nombres:  Microsoft.VisualStudio.Data.Core
Ensamblado:  Microsoft.VisualStudio.Data.Core (en Microsoft.VisualStudio.Data.Core.dll)

Sintaxis

'Declaración
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

Parámetros

  • source
    Tipo: Guid

    数据源 DDEX 标识符。

  • command
    Tipo: CommandID

    确定操作的命令。

  • context
    Tipo: Object

    表示一个上下文操作存在的对象。

Valor devuelto

Tipo: String
解释的本地化字符串指定的操作失败的原因,如果操作不受支持;事实上支持,否则,返回 nullreferencia null (Nothing en Visual Basic)。

Excepciones

Excepción Condición
ArgumentNullException

command 参数为 nullreferencia null (Nothing en Visual Basic)。

[<ANY>]

DDEX 提供程序的 GetUnsupportedReason 实现将引发异常。

Comentarios

此方法使 DDEX 客户提供其尝试运行的特定原因的原因的说明操作用户在当前环境不支持。 环境可以不同,Visual Studio 编辑运行,并且运行时组件安装在计算机上。 前者由 Visual Studio 的版本通常控制 (例如,),限制学习版的某些命令,而后者通常是由提供程序的 IVsDataProviderDynamicSupport 实现的控制,因此,如果具有一个。

许多操作在一些大型的上下文内。 此示例简单的连接是打开的命令,在发生特定连接中。 GetUnsupportedReasoncontext 参数启用可识别的对象将传递和用作确定原因的一部分对于不支持操作。

此方法首先确定 Visual Studio 的版本是否存在不受支持操作的原因。 即如果此查询会返回 nullreferencia null (Nothing en Visual Basic) (Visual Studio 没有不支持操作的原因),并提供程序提供了 IVsDataProviderDynamicSupport 实现,它会查询一个原因的提供程序不支持的操作。

Ejemplos

下列代码演示如何调用 IsOperationSupported 方法确定提供程序是否支持删除特定数据资源管理器节点。 如果没有,该代码调用 GetUnsupportedReason 来确定适当的消息说明为何操作不受支持。

using System;
using System.Windows.Forms;
using System.ComponentModel.Design;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Services;

public class DDEX_IVsDataProviderExample7
{
    public static bool AllowDelete(IVsDataProvider provider,
        IVsDataExplorerNode node)
    {
        if (!provider.IsOperationSupported(StandardCommands.Delete, node))
        {
            MessageBox.Show(provider.GetUnsupportedReason(
                StandardCommands.Delete, node));
            return false;
        }
        return true;
    }
}

Seguridad de .NET Framework

Vea también

Referencia

IVsDataProvider Interfaz

GetUnsupportedReason (Sobrecarga)

Microsoft.VisualStudio.Data.Core (Espacio de nombres)