次の方法で共有


Debugger.ExecuteStatement メソッド

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

名前空間:  EnvDTE
アセンブリ:  EnvDTE (EnvDTE.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
)

パラメーター

  • Statement
    型 : System.String
    実行するステートメント。
  • Timeout
    型 : System.Int32
    タイムアウト期間 (ミリ秒単位)。
  • TreatAsExpression
    型 : System.Boolean
    式としての処理。文字列を式として解釈する場合は True を指定します。それ以外の場合は False を指定します。

解説

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

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

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

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

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

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

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

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

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

public static void ExecuteStatement(DTE dte)
{
    // Setup the 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();

    dte.Debugger.ExecuteStatement("tempC = 100.0", 100, false);
}
Shared Sub ExecuteStatementTest(ByRef dte As EnvDTE.DTE)
    dte.Debugger.ExecuteStatement("tempC = 100.0", 100, False)
End Sub

.NET Framework セキュリティ

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

参照

関連項目

Debugger インターフェイス

EnvDTE 名前空間