Partager via


IVsDataProvider.GetUnsupportedReason, méthode (Guid, CommandID, Object)

Obtient une chaîne localisée qui explique pourquoi une opération n'est pas prise en charge pour la source de données spécifiée de DDEX.

Espace de noms :  Microsoft.VisualStudio.Data.Core
Assembly :  Microsoft.VisualStudio.Data.Core (dans Microsoft.VisualStudio.Data.Core.dll)

Syntaxe

'Déclaration
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

Paramètres

  • source
    Type : Guid

    Identificateur de source de données de DDEX.

  • command
    Type : CommandID

    Une commande qui identifie l'opération.

  • context
    Type : Object

    Objet qui représente le contexte dans lequel l'opération existe.

Valeur de retour

Type : String
Chaîne localisée qui explique pourquoi l'opération spécifiée n'est pas prise en charge, si l'opération en fait n'est pas pris en charge ; sinon, nullune référence null (Nothing en Visual Basic).

Exceptions

Exception Condition
ArgumentNullException

Le paramètre command est nullune référence null (Nothing en Visual Basic).

[<ANY>]

L'implémentation de l'GetUnsupportedReason du fournisseur de DDEX a levé une exception.

Notes

Cette méthode permet aux clients de DDEX de fournir aux utilisateurs une raison spécifique qui explique pourquoi une opération qu'ils ont tenté d'exécuter n'est pas prise en charge de l'environnement actuel. L'environnement peut varier, selon lequel l'édition de Visual Studio exécute et lequel les composants runtime sont installés sur l'ordinateur. La première est généralement contrôlée par l'édition de Visual Studio (par exemple, restreignant des commandes dans les éditions Express), alors que ce dernier est généralement contrôlée par l'implémentation d'IVsDataProviderDynamicSupport d'un fournisseur, s'il y en a une.

De nombreuses opérations se produisent dans un certain plus grand contexte. Un exemple simple de ceci est commande ouverte pour la connexion, qui se produit dans le contexte d'une connexion particulière. Le paramètre context d'GetUnsupportedReason active un objet reconnaissable à passer et être utilisé dans le cadre de déterminer la raison de ne pas prendre en charge l'opération.

Démarre de cette méthode en déterminant si l'édition de Visual Studio a une raison de ne pas prendre en charge l'opération. Si cette requête retourne nullune référence null (Nothing en Visual Basic) (autrement dit, Visual Studio n'a aucune raison pour ne pas prendre en charge l'opération) et le fournisseur a fourni une implémentation d'IVsDataProviderDynamicSupport, il interroge le fournisseur pour une raison pour ne pas prendre en charge l'opération.

Exemples

Le code suivant montre comment appeler la méthode IsOperationSupported pour déterminer si le fournisseur prend en charge supprimer un nœud particulier Explorateur de données. Sinon, le code appelle GetUnsupportedReason pour déterminer un message approprié pour décrire pourquoi l'opération n'est pas prise en charge.

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;
    }
}

Sécurité .NET Framework

Voir aussi

Référence

IVsDataProvider Interface

GetUnsupportedReason, surcharge

Microsoft.VisualStudio.Data.Core, espace de noms