IVsDataProvider.GetUnsupportedReason 方法 (Guid, CommandID, Object)

获取解释的本地化字符串的原因没有为指定的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
解释的本地化字符串指定的原因,不支持;如果操作实际上不支持;否则,nullnull 引用(在 Visual Basic 中为 Nothing)。

异常

异常 条件
ArgumentNullException

command 参数为 nullnull 引用(在 Visual Basic 中为 Nothing)。

[<ANY>]

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

备注

此方法使DDEX客户端提供这些尝试执行按特定原因解释的原因的用户在当前环境中不支持。环境可能不同,Visual Studio编辑器运行,而运行时组件安装在计算机上。前者由Visual Studio版本中通常为控件(例如,限制在速成版中的某些命令),而后者通常由提供程序的 IVsDataProviderDynamicSupport 实现控件的,因此,如果有一个。

许多操作在某些更大的上下文内。此的简单示例是连接中打开命令,发生在特定连接中。GetUnsupportedReason 的 context 参数使可识别的对象通过和用作确定其原因的一部分不支持操作。

此方法是通过确定Visual Studio的版本是否开始使用不支持操作的原因。即如果此查询返回 nullnull 引用(在 Visual Basic 中为 Nothing) (Visual Studio没有不支持操作的原因),并且提供程序提供了一个 IVsDataProviderDynamicSupport 实现,它会查询一个原因的提供程序不支持操作。

示例

下面的代码演示如何调用 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;
    }
}

.NET Framework 安全性

请参见

参考

IVsDataProvider 接口

GetUnsupportedReason 重载

Microsoft.VisualStudio.Data.Core 命名空间