Debugger2.ExecuteStatement (Método)
Ejecuta la instrucción especificada. Si la marca TreatAsExpression es true, la cadena se interpreta como una expresión y el resultado se envía a la Ventana de comandos.
Espacio de nombres: EnvDTE80
Ensamblado: EnvDTE80 (en EnvDTE80.dll)
Sintaxis
'Declaración
Sub ExecuteStatement ( _
Statement As String, _
Timeout As Integer, _
TreatAsExpression As Boolean _
)
void ExecuteStatement(
string Statement,
int Timeout,
bool TreatAsExpression
)
void ExecuteStatement(
[InAttribute] String^ Statement,
[InAttribute] int Timeout,
[InAttribute] bool TreatAsExpression
)
abstract ExecuteStatement :
Statement:string *
Timeout:int *
TreatAsExpression:bool -> unit
function ExecuteStatement(
Statement : String,
Timeout : int,
TreatAsExpression : boolean
)
Parámetros
- Statement
Tipo: String
Timeout
Tipo: Int32Período de tiempo de espera, en milisegundos.
TreatAsExpression
Tipo: Booleantrue si la cadena se va a interpretar como una expresión; de lo contrario false.
Comentarios
ExecuteStatement ejecuta la instrucción especificada. Una instrucción se diferencia de una expresión en que la instrucción puede constar de una o más expresiones. Por tanto, normalmente no se puede asociar ni devolver ningún valor con la ejecución de una instrucción.
Algunos lenguajes, como Visual Basic, admiten una sintaxis que se basa en el contexto en el que aparece una instrucción para indicar cómo se evalúa la instrucción. Por ejemplo, si su código de Visual Basic tiene una instrucción, a = 1, se interpreta como una expresión si el código aparece dentro de una instrucción If...Then. Se interpreta como una instrucción si aparece sola en una línea. La expresión prueba a respecto al valor de 1, la instrucción establecerá a igual a 2. Vea el ejemplo siguiente.
El resultado generado con este método se envía a Ventana de comandos.
Ejemplos
En el siguiente ejemplo se muestra cómo utilizar el método ExecuteStatement.
Para probar este método:
Establezca el punto de interrupción en la aplicación de destino después de asignar un valor a la variable.
Ejecute la aplicación de destino en el modo de depuración.
Cuando la aplicación se detenga en el punto de interrupción, ejecute el complemento.
El valor de la variable cambia a un nuevo valor.
public static void ExecuteStatement(EnvDTE80.DTE2 dte)
{
// Setup debug Output window.
Window w =
(Window)dte.Windows.Item(EnvDTE.Constants.vsWindowKindOutput);
w.Visible = true;
OutputWindow ow = (OutputWindow)w.Object;
OutputWindowPane owp = ow.OutputWindowPanes.Add("ExecuteStatement
Method Test");
owp.Activate();
EnvDTE80.Debugger2 debugger = (EnvDTE80.Debugger2)dte.Debugger;
debugger.ExecuteStatement("tempC = 100.0", 100, false);
owp.OutputString("The new value of tempC variable is: " +
debugger.GetExpression("tempC", false, 1).Value);
}
' The following executes a statement, effectively
' setting a to the value of 2.
Sub SetVariable()
DTE2.Debugger.ExecuteStatement("a = 2", -1, False)
End Sub
' The following tests the value of a against
' the value of 2. False is displayed in the command window.
Sub TestVariable()
DTE2.Debugger.ExecuteStatement("a = 2", -1, True)
End Sub
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.