IVsDataProviderDynamicSupport.IsOperationSupported, méthode
Détermine si une opération spécifique est prise en charge de l'environnement actif, 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 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
Paramètres
source
Type : GuidUn identificateur de source de données de DDEX.
command
Type : CommandIDUne commande identificateur l'exécution.
context
Type : ObjectObjet qui représente le contexte dans lequel l'exécution existe.
Valeur de retour
Type : Boolean
true si l'opération est prise en charge par le fournisseur dans l'environnement actuel ; sinon, false.
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | Le paramètre command est nullune référence null (Nothing en Visual Basic). |
ArgumentException | Le paramètre d' context n'est pas une valeur attendue pour l'exécution spécifiée. |
Notes
Cette méthode permet aux fournisseurs de DDEX de modifier dynamiquement les opérations qui sont disponibles pour l'utilisateur, en fonction de l'environnement actuel et un contexte particulier dans cet environnement. En d'autres termes, le fournisseur peut s'adapter à la configuration de l'ordinateur actuel et à quels composants qui prend en charge le fournisseur de DDEX sont installés. Une utilisation courante de cette méthode est d'activer ou de désactiver la prise en charge d'une opération particulière qui dépend de la disponibilité d'un composant particulier sur l'ordinateur, tel qu'un moteur de script.
Exemples
Le code suivant montre comment appliquer cette méthode de telle sorte qu'il prend en charge une commande deploy sur un nœud de connexion dans l'explorateur de données uniquement lorsqu'une clé de Registre particulière existe, indiquant qu'une technologie spécifique de déploiement est installée.
using System;
using System.ComponentModel.Design;
using Microsoft.Win32;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Services;
public class MyProviderDynamicSupport2 : IVsDataProviderDynamicSupport
{
private static readonly CommandID DeployCommand =
new CommandID(new Guid("6535F307-2083-4cbb-B2FA-11F2DCD69DAF"), 25);
public bool IsProviderSupported
{
get
{
return true;
}
}
public bool IsSourceSupported(Guid source)
{
return true;
}
public bool IsOperationSupported(
Guid source, CommandID command, object context)
{
if (command == null)
{
throw new ArgumentNullException("command");
}
if (command.Equals(DeployCommand))
{
IVsDataExplorerConnection explorerConnection =
context as IVsDataExplorerConnection;
if (explorerConnection == null)
{
throw new ArgumentException();
}
RegistryKey key = Registry.LocalMachine.OpenSubKey(
@"SOFTWARE\Company\DeployTechnology");
if (key == null)
{
return false;
}
key.Close();
}
return true;
}
public string GetUnsupportedReason(
Guid source, CommandID command, object context)
{
if (command == null)
{
throw new ArgumentNullException("command");
}
if (command.Equals(DeployCommand) &&
!IsOperationSupported(source, command, context))
{
// Note: This string should be localized
return "In order to deploy a database you need to install our deployment technology.";
}
return null;
}
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, voir Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.