0

我已经声明了一个属性来捕获当前页面的查询字符串。我还有一个与查询字符串变量具有相同属性名称的类。下面是我的调试环境,

   private Guid? ParishId
    {
        get
        {
            Guid guid;
            if (Guid.TryParse(Request.QueryString["id"], out guid))
            {
                return guid;
            }

            return null;
        }
    }

这是我期望的p.ParishId,这是我在检查p对象时得到的

在此处输入图像描述

但它显示了查询字符串变量的值。我把鼠标放在 ParishId

在此处输入图像描述

为什么看不到新分配的 Guid?

4

1 回答 1

2

调试器根据当前范围调用您当前所在实例的属性。p.ParishId- 是 instance 的属性pParishId- 是任何碰巧是范围的属性,在您的情况下,它是从 获取值的类QueryString

更新:

我不确定你想要什么参考。当您将鼠标移到标识符上时,调试器会执行与将该标识符添加到 Watches 列表时相同的操作,即在当前范围内解析它。在创建时分配实例的字段/属性的 C# 功能只是语言语法糖。要检查ParishIdinstance 的属性p,您需要评估p.ParishId或在p类的代码中。

于 2012-12-05T22:51:29.980 回答