Metodo IVsDataProviderDynamicSupport.IsOperationSupported
Determina se un'operazione specifica supportata nell'ambiente corrente, per l'origine dati specificata di DDEX.
Spazio dei nomi: Microsoft.VisualStudio.Data.Core
Assembly: Microsoft.VisualStudio.Data.Core (in Microsoft.VisualStudio.Data.Core.dll)
Sintassi
'Dichiarazione
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
Parametri
source
Tipo: GuidUn identificatore di origine dati di DDEX.
command
Tipo: CommandIDUn comando che identifica l'operazione.
context
Tipo: ObjectUn oggetto che rappresenta il contesto in cui l'operazione esiste.
Valore restituito
Tipo: Boolean
true se l'operazione è supportata dal provider nell'ambiente corrente; in caso contrario, false.
Eccezioni
Eccezione | Condizione |
---|---|
ArgumentNullException | Il parametro command è nullriferimento null (Nothing in Visual Basic). |
ArgumentException | Il parametro context non sia un valore previsto per l'operazione specificata. |
Note
Questo metodo consente ai provider di DDEX per alterare dinamicamente le operazioni sono disponibili all'utente, come l'ambiente corrente e un contesto specifico all'interno di tale ambiente. Ovvero il provider può adattare la configurazione del computer corrente e ai componenti che supportano il provider di DDEX vengono installati. Un utilizzo comune di questo metodo è di abilitare o disabilitare il supporto per una determinata operazione che dipende dalla disponibilità di un componente specifico nel computer, ad esempio un motore di scripting.
Esempi
Il codice seguente viene illustrato come implementare il metodo in modo che supporta un comando di distribuzione su un nodo della connessione in esplora di dati solo quando una chiave del Registro di sistema specifico esiste, per indicare che una specifica tecnologia di distribuzione è installata.
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;
}
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per altre informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.