IVsDataProvider.IsOperationSupported (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 IsOperationSupported ( _
source As Guid, _
command As CommandID, _
context As Object _
) As Boolean
bool IsOperationSupported(
Guid source,
CommandID command,
Object context
)
bool IsOperationSupported(
Guid source,
CommandID^ command,
Object^ context
)
abstract IsOperationSupported :
source:Guid *
command:CommandID *
context:Object -> bool
function IsOperationSupported(
source : Guid,
command : CommandID,
context : Object
) : boolean
Parámetros
source
Tipo: Guid数据源 DDEX 标识符。
command
Tipo: CommandID确定操作的命令。
context
Tipo: Object表示一个上下文操作存在的对象。
Valor devuelto
Tipo: Boolean
true ,如果操作按当前环境的提供程序支持;否则,返回 false。
Excepciones
Excepción | Condición |
---|---|
ArgumentNullException | command 参数为 nullreferencia null (Nothing en Visual Basic)。 |
[<ANY>] | DDEX 提供程序的 IsOperationSupported 实现将引发异常。 |
Comentarios
此方法使 DDEX 客户端检查特定操作是否按当前环境的一 DDEX 提供程序支持。 环境可以不同,Visual Studio 编辑运行,并且运行时组件安装在计算机上。 前者由 Visual Studio 的版本通常控制 (例如,),限制学习版的某些命令,而后者通常是由提供程序的 IVsDataProviderDynamicSupport 实现的控制,因此,如果具有一个。
许多操作在一些大型的上下文内。 此示例简单的连接是打开的命令,在发生特定连接中。 IsOperationSupportedcontext 参数启用可识别的对象将传递和用作确定操作是否支持一部分。
IsOperationSupported 首先确定 Visual Studio 的版本是否支持操作。 如果 Visual Studio 支持操作,并提供程序提供了 IVsDataProviderDynamicSupport 的实现,该方法查询提供程序确定操作是否支持。
注意在某些情况下则默认情况下 Visual Studio 版本支持所有 SELECT 命令并排除组命令。 这意味着自定义以便提供程序操作由 Visual Studio 版本支持和由提供程序控制。
Ejemplos
下面的代码演示如何调用此方法确定提供程序是否支持特定数据资源管理器节点中删除。 否则,它调用 GetUnsupportedReason 方法以确定适当的消息说明为何操作不受支持。
C#
using System;
using System.Windows.Forms;
using System.ComponentModel.Design;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Services;
public class DDEX_IVsDataProviderExample8
{
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
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.