Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais
Nous recommandons d’utiliser Visual Studio 2017

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)

string GetUnsupportedReason(
	Guid source,
	CommandID command,
	Object context
)

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

ExceptionCondition
ArgumentNullException

Le paramètre command est null.

[<ANY>]

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

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

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

Afficher: