我收到上述錯(cuò)誤,無法解決。我用谷歌搜索了一下,但不能擺脫它。場(chǎng)景:我有類BudgetAllocate,其屬性為double類型的budget。在我的dataAccessLayer中,在我的一堂課中,我試圖做到這一點(diǎn):double.TryParse(objReader[i].ToString(), out bd.Budget);哪個(gè)拋出此錯(cuò)誤:在編譯時(shí),屬性或索引器可能不會(huì)作為out或ref參數(shù)傳遞。我什至嘗試了這個(gè):double.TryParse(objReader[i].ToString().Equals(DBNull.Value) ? "" : objReader[i].ToString(), out bd.Budget);其他一切工作正常,并且存在層之間的引用。
3 回答

千巷貓影
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
其他人為您提供了解決方案,但要說明為什么這樣做是必要的:屬性只是方法的語法糖。
例如,當(dāng)您聲明Name使用getter和setter 調(diào)用的屬性時(shí),編譯器實(shí)際上會(huì)生成稱為get_Name()和的方法set_Name(value)。然后,當(dāng)您讀取和寫入此屬性時(shí),編譯器會(huì)將這些操作轉(zhuǎn)換為對(duì)那些生成的方法的調(diào)用。
考慮到這一點(diǎn),很明顯為什么不能將屬性作為輸出參數(shù)傳遞-實(shí)際上,您將傳遞對(duì)方法的引用,而不是對(duì)變量的對(duì)象的引用,這是輸出參數(shù)所期望的。
索引器也存在類似情況。
- 3 回答
- 0 關(guān)注
- 2089 瀏覽
添加回答
舉報(bào)
0/150
提交
取消