屬性:在
.*** 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個人的經驗進行估計,沒有採用規範...