次の方法で共有


Debugger2.ExecuteStatement メソッド (String, Int32, Boolean)

指定されたステートメントを実行します。TreatAsExpression フラグが true の場合、文字列は式として解釈され、コマンド ウィンドウ に出力が送られます。

名前空間:  EnvDTE80
アセンブリ:  EnvDTE80 (EnvDTE80.dll 内)

構文

'宣言
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
)

パラメーター

  • Timeout
    型 : System.Int32
    タイムアウト期間 (ミリ秒単位)。
  • TreatAsExpression
    型 : System.Boolean
    文字列を式として解釈する場合は true を指定します。それ以外の場合は false を指定します。

解説

ExecuteStatement は、指定されたステートメントを実行します。ステートメントは、1 つ以上の式から構成されるという点で式とは異なります。したがって、通常はステートメントの実行によって値を関連付けるかまたは返すことはできません。

Visual Basic などの一部の言語では、ステートメントが使用されるコンテキストによって、そのステートメントの評価方法が示される言語構文をサポートしています。たとえば、Visual Basic コードでは、a = 1 というステートメントが If...Then ステートメント内で使用された場合、式として解釈されます。このコードが単独の 1 行で使用されている場合は、ステートメントとして解釈されます。式では 1 という値に対して a をテストし、ステートメントでは a を 2 に設定します。次の例を参照してください。

このメソッドからの出力は、コマンド ウィンドウ に送られます。

ExecuteStatement メソッドを使用する方法の例を次に示します。

このメソッドをテストするには

  1. 変数に値が割り当てられた後、ターゲット アプリケーションにブレークポイントを設定します。

  2. ターゲット アプリケーションをデバッグ モードで実行します。

  3. ブレークポイントでアプリケーションが停止したら、アドインを実行します。

  4. 変数の値が新しい値に変更されます。

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

.NET Framework セキュリティ

  • 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

関連項目

Debugger2 インターフェイス

ExecuteStatement オーバーロード

EnvDTE80 名前空間