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
- 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.