Metoda IDTCommandTarget.Exec —
Wykonuje określony o nazwie polecenia.
Przestrzeń nazw: EnvDTE
Zestaw: EnvDTE (w EnvDTE.dll)
Składnia
'Deklaracja
Sub Exec ( _
CmdName As String, _
ExecuteOption As vsCommandExecOption, _
ByRef VariantIn As Object, _
<OutAttribute> ByRef VariantOut As Object, _
<OutAttribute> ByRef Handled As Boolean _
)
void Exec(
string CmdName,
vsCommandExecOption ExecuteOption,
ref Object VariantIn,
out Object VariantOut,
out bool Handled
)
void Exec(
[InAttribute] String^ CmdName,
[InAttribute] vsCommandExecOption ExecuteOption,
[InAttribute] Object^% VariantIn,
[InAttribute] [OutAttribute] Object^% VariantOut,
[InAttribute] [OutAttribute] bool% Handled
)
abstract Exec :
CmdName:string *
ExecuteOption:vsCommandExecOption *
VariantIn:Object byref *
VariantOut:Object byref *
Handled:bool byref -> unit
function Exec(
CmdName : String,
ExecuteOption : vsCommandExecOption,
VariantIn : Object,
VariantOut : Object,
Handled : boolean
)
Parametry
CmdName
Typ: StringNazwa polecenie do wykonania.
ExecuteOption
Typ: EnvDTE.vsCommandExecOptionA vsCommandExecOption stałą, określając opcje wykonywania.
VariantIn
Typ: Object%Wartość przekazywana do polecenia.
VariantOut
Typ: Object%Wartość przekazywana z powrotem do źródła Exec metoda po wykonaniu polecenia.
- Handled
Typ: Boolean%
Uwagi
W poniższym przykładzie użyto Command obiektu i jego AddNamedCommand i AddControl metody oraz IDTCommandTarget interfejs i jego (Exec i QueryStatus) metod do wykazania, jak są wyświetlane jako polecenia na dodatek Narzędzia menu w Visual Studio.Należy zauważyć, że ten kod nie działa w makrze.
Przykłady
Implements IDTCommandTarget
Dim applicationObject As EnvDTE.DTE
Dim addInInstance as EnvDTE.AddIn
Dim objAddIn As AddIn = CType(addInInst, AddIn)
Dim CommandObj As Command
Try
CommandObj = applicationObject.Commands.AddNamedCommand(objAddIn, "MyAddin1", "MyAddin1", "Executes the command for MyAddin1", True, 59, Nothing, 1 + 2)
'1+2 == vsCommandStatusSupported+vsCommandStatusEnabled
CommandObj.AddControl(applicationObject.CommandBars.Item("Tools"))
Catch e as System.Exception
End Try
Public Sub Exec(ByVal cmdName As String, ByVal executeOption As vsCommandExecOption, ByRef varIn As Object, ByRef varOut As Object, ByRef handled As Boolean) Implements IDTCommandTarget.Exec
handled = False
If (executeOption = vsCommandExecOption.vsCommandExecOptionDoDefault) Then
If cmdName = "MyAddin1.Connect.MyAddin1" Then
handled = True
Exit Sub
End If
End If
End Sub
Public Sub QueryStatus(ByVal cmdName As String, ByVal neededText As vsCommandStatusTextWanted, ByRef statusOption As vsCommandStatus, ByRef commandText As Object) Implements IDTCommandTarget.QueryStatus
If neededText = EnvDTE.vsCommandStatusTextWanted.vsCommandStatusTextWantedNone Then
If cmdName = "MyAddin1.Connect.MyAddin1" Then
statusOption = CType(vsCommandStatus.vsCommandStatusEnabled & vsCommandStatus.vsCommandStatusSupported, vsCommandStatus)
Else
statusOption = vsCommandStatus.vsCommandStatusUnsupported
End If
End If
End Sub
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Używanie bibliotek pochodzących z częściowo zaufanego kodu.