我有點困惑,什麼時候我的財產正在被初始化。什麼時候我的C#屬性初始化?
假設我有聲明如下屬性:
private Dictionary<string, Dictionary<string,string>> MessageLookup
{
get
{
return messages ?? doSomething();
}
}
的DoSomething的方法填充消息字典並返回。
我的問題是,這段代碼何時運行? 如果我在doSomething代碼中放置了一個斷點,它不會被命中,但是當我在調試器中查看它時,MessageLookup屬性保存着數據(這是它初始化的唯一位置)。
此代碼是否在施工時運行?當我將鼠標懸停在變量名稱上時,調試器會自動運行它嗎?如果是這樣,爲什麼不是斷點?
你可以發表一些doSomething方法的內容嗎? – Zyphrax 2009-08-03 19:54:15
在`返回消息中放置一個斷點? doSomething()`沒有運行你的項目,然後運行它。 – 2009-08-03 19:54:59