Share via


Metodo IDTCommandTarget.Exec

Esegue il comando con nome specificato.

Spazio dei nomi:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

Sintassi

'Dichiarazione
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
)

Parametri

  • CmdName
    Tipo: String

    Nome del comando da eseguire.

  • VariantIn
    Tipo: Object%

    Valore passato al comando.

  • VariantOut
    Tipo: Object%

    Valore restituito al metodo Exec invoker dopo l'esecuzione del comando.

  • Handled
    Tipo: Boolean%

Note

Nell'esempio seguente viene utilizzato l'oggetto Command e i relativi metodi AddNamedCommand e AddControl, nonché l'interfaccia IDTCommandTarget e i relativi metodi (Exec e QueryStatus) per illustrare come visualizzare un componente aggiuntivo come comando nel menu Strumenti in Visual Studio. Si noti che questo codice non funziona in una macro.

Esempi

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  

Sicurezza di .NET Framework

Vedere anche

Riferimenti

IDTCommandTarget Interfaccia

Spazio dei nomi EnvDTE