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 : System.Guid
    Un identificateur de source de données de DDEX.
  • context
    Type : System.Object
    Un objet qui représente le contexte dans lequel l'exécution existe.

Valeur de retour

Type : System.String
Chaîne localisée qui explique pourquoi l'exécution spécifiée n'est pas prise en charge, si l'opération en fait n'est pas prise 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 expliquent pourquoi une opération qu'il a tenté d'exécuter n'est pas prise en charge de l'environnement actuel.L'environnement peut différer, en fonction de l'édition de Visual Studio exécute et lequel les composants d'exécution sont installés sur l'ordinateur.Le précédent 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 contexte plus large.L'exemple le plus simple de cette commande est ouverte pour la connexion, qui se produit dans le contexte d'une connexion particulière.Le paramètre d' context d' GetUnsupportedReason permet à un objet reconnaissable d'être passé dans et utilisé dans le cadre de déterminer la raison pour ne pas prendre en charge l'exécution.

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

Exemples

Le code suivant montre comment appeler la méthode d' IsOperationSupported pour déterminer si le fournisseur prend en charge la suppression d'un nœud particulier explorateur de données.Dans le cas contraire, le code appelle GetUnsupportedReason pour déterminer un message approprié pour décrire la raison pour laquelle 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