IVsDataProviderDynamicSupport.IsOperationSupported – metoda
Určuje, zda konkrétní operace je podporována v aktuálním prostředí pro určený zdroj dat DDEX.
Obor názvů: Microsoft.VisualStudio.Data.Core
Sestavení: Microsoft.VisualStudio.Data.Core (v Microsoft.VisualStudio.Data.Core.dll)
Syntaxe
'Deklarace
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
Parametry
- source
Typ: System.Guid
DDEX zdrojový identifikátor data.
- command
Typ: System.ComponentModel.Design.CommandID
Příkaz identifikaci operace.
- context
Typ: System.Object
Objekt představující kontext, ve kterém existuje operace.
Vrácená hodnota
Typ: System.Boolean
true Pokud operace je podporována zprostředkovatelem v aktuálním prostředí; jinak false .
Výjimky
Výjimka | Podmínka |
---|---|
ArgumentNullException | The command parameter is nullodkaz null (Nothing v jazyce Visual Basic). |
ArgumentException | context Parametr není pro zadanou operaci očekávané hodnoty. |
Poznámky
Tato metoda umožňuje poskytovatelům DDEX dynamicky měnit operací, které jsou k dispozici pro uživatele podle aktuálního prostředí a zejména kontextu dané prostředí.Jinými slovy zprostředkovatel můžete upravit aktuální konfiguraci počítače a jsou nainstalovány na součásti, které podporuje DDEX provider.Běžné použití této metody by povolit nebo zakázat podporu pro konkrétní operaci, která závisí na dostupnosti určité součásti v počítači, například skriptovací stroj.
Příklady
Následující kód demonstruje tuto metodu implementovat takovým způsobem, že podporuje příkaz nasadit připojení uzlu Průzkumník dat pouze v případě, že existuje klíč registru zejména označující, že je nainstalována technologie nasazení.
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;
}
}
Zabezpečení rozhraní .NET Framework
- Plná důvěra přímému volajícímu. Částečně zabezpečený kód nemůže tento člen použít. Další informace naleznete v tématu Používání knihoven z částečně důvěryhodného kódu.