我已經聲明瞭一個屬性來捕獲當前頁面的查詢字符串。我也有一個與querystring變量具有相同屬性名稱的類。下面是我的調試環境,奇怪的新實例創建語法行爲
這是我所期望的p.ParishId
有,這個我有,當我檢查p
對象
但它顯示的查詢字符串變量的值。這對ParishId
我被放置鼠標爲什麼沒有看到新分配的Guid?
我已經聲明瞭一個屬性來捕獲當前頁面的查詢字符串。我也有一個與querystring變量具有相同屬性名稱的類。下面是我的調試環境,奇怪的新實例創建語法行爲
這是我所期望的p.ParishId
有,這個我有,當我檢查p
對象
但它顯示的查詢字符串變量的值。這對ParishId
我被放置鼠標爲什麼沒有看到新分配的Guid?
調試器根據當前範圍調用您當前所在實例的屬性。 p.ParishId
- 是實例p
,ParishId
的屬性 - 是發生在範圍內的任何屬性,在您的情況下,它是從QueryString
獲取值的類。
更新:
我不知道你想要什麼引用。將鼠標移動到標識符上時,調試器執行與將該標識符添加到Watches列表時相同的操作,即將其解析到當前範圍中。在創建時賦予實例字段/屬性的C#功能僅僅是語言語法糖。要檢查ParishId
實例p
的屬性,您需要評估p.ParishId
或在p
類的內部代碼。
您是否試過將private改爲public,看看它是否顯示在調試器中 – MethodMan
@DJKRAZE我的意思是,大括號內的p.ParishId值反映了QueryString的值而不是新的Guid我分配給它。 querystring的ParishId很好。檢查對象'p'顯示正確的值,但檢查大括號內的'ParishId'則顯示查詢字符串值 – codingbiz
調試器的工作原理略有不同。當您將鼠標移到標識符上時,它將根據當前範圍對其進行評估。當前範圍中唯一的'ParishId'是從'QueryString'獲取它的類的屬性。 – Igor