設計Property時常犯的乙個錯誤 set

2021-03-31 08:56:58 字數 928 閱讀 2719

屬性:在

.*** framework

中的cls

支援兩種不同的屬性(呵呵,看到這裡不要以為就是唯讀

get和只寫

set屬性),分別是標量屬性和向量屬性。什麼意思呢?

標量屬性

表示單個類的特性,這個屬性可以使乙個基本值,如

int,datetim,color

,在c#

語法中,標量屬性不能引數化

(visual basic .***除外)

。向量屬性

就是我們通常所說的索引器,它表示乙個結構,他允許在類上使用像陣列那樣的語法。

對於他們具體的用法,msdn有更加詳細的說明,我這裡只談談設計標量屬性時,常犯的乙個錯誤

先看看編寫

set過程的原則

:定義乙個讀

/寫或者只寫屬性時,需要考慮如何編寫

set訪問器,最重要的是如何處理非法值,一種方法是丟擲乙個異常,表示客戶**不能接受非法值。另外,就是在set過程中容錯。

對於property

的set

指示器,有如下的簡單的**

public

class

myproperty}}

} 你覺得上邊的**有問題嗎?

可以用如下的**測試一下啊

myproperty amyproperty = new myproperty();

amyproperty.age = 20;                          // 或者其他的-100

messagebox.show(amyproperty.age.tostring());    // 這裡總是 0 。

呵呵,上述的**有乙個非常隱蔽的錯誤。

改正後的**如下:

setelse

}就這樣就可以了,另外還可以設計靜態屬性,或者虛屬性!

C語言程式設計時常犯的錯誤

c編譯的程式對語法檢查並不象其它高階語言那麼嚴格,這就給程式設計人員留下 靈活的餘地 但還是由於這個靈活給程式的除錯帶來了許多不便,尤其對初學c語言的人來說,經常會出一些連自己都不知道錯在 的錯誤。看著有錯的程式,不知該如何改起,本人通過對c的學習,積累了一些c程式設計時常犯的錯誤,以供參考。1 書...

軟體專案策劃時常犯的12個錯誤

大概總結了一下,有時間再展開詳細論述吧 1 任務的顆粒度懸殊太大 2 任務的識別不全面,如 沒有識別出計畫 pp,ppqap,cmp,map等 評審的任務 沒有識別出來計畫修訂的任務 模組間整合的任務沒有識別出來 3 只做了工作量估計,沒有做規模估計 4 只憑1或者2個人的經驗進行估計,沒有採用規範...

軟體專案策劃時常犯的12個錯誤

大概總結了一下,有時間再展開詳細論述吧 1 任務的顆粒度懸殊太大 2 任務的識別不全面,如 沒有識別出計畫 pp,ppqap,cmp,map等 評審的任務 沒有識別出來計畫修訂的任務 模組間整合的任務沒有識別出來 3 只做了工作量估計,沒有做規模估計 4 只憑1或者2個人的經驗進行估計,沒有採用規範...