Expression.DataMembers 属性

如果表达式表示类或结构,则此属性以 Expressions 集合的形式获取成员变量的列表。

命名空间:  EnvDTE
程序集:  EnvDTE(在 EnvDTE.dll 中)

语法

声明
ReadOnly Property DataMembers As Expressions
Expressions DataMembers { get; }
property Expressions^ DataMembers {
    Expressions^ get ();
}
abstract DataMembers : Expressions
function get DataMembers () : Expressions

属性值

类型:EnvDTE.Expressions
一个 Expressions 集合。

备注

有关表达式的常规信息,请参阅 调试器中的表达式

示例

下面的示例演示如何使用 DataMembers 属性。

测试此属性:

  1. 目标应用程序必须包含类 A。 函数 Main 必须创建类 A 的一个实例“a”。

  2. 在创建了类 A 的一个实例并初始化其成员变量后,在函数 Main 中设置一个断点。

  3. 以调试模式运行目标应用程序。

  4. 当此应用程序停在该断点处时,运行外接程序。

public static void DataMembers(DTE 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("DataMembers Property Test");
    owp.Activate();

    // "a" is an instance of class A.
    EnvDTE.Expression exp1 = dte.Debugger.GetExpression("a", true, 1);
    EnvDTE.Expressions exps = exp1.DataMembers;
    foreach(EnvDTE.Expression exp in exps)
        owp.OutputString(exp.Name + "\n");
}
Shared Sub DataMembers(ByRef dte As EnvDTE.DTE)
    Dim exp As EnvDTE.Expression = dte.Debugger.GetExpression("a", True, 1)
    Dim exps As EnvDTE.Expressions = exp.DataMembers
    Dim str As String = vbCrLf
    For Each exp In exps
        str += vbCrLf + vbTab + exp.Name
    Next
    MessageBox.Show("List of class A data members: " + _
                    str, "Expression Test - Data Members Property")
End Sub

.NET Framework 安全性

请参见

参考

Expression 接口

EnvDTE 命名空间