我是.NET的新手。我有一個名爲Project的類,一個項目可以有多個預測。現在如果我想檢查項目是否有任何預測,我應該使用一個名爲HasForecast()的只讀布爾屬性,還是應該使用名爲HasForecast()的方法基本上返回一個布爾值。從框架設計指南我知道當操作很複雜時應該使用方法,因爲這裏我從數據庫檢索預測的值,如果我考慮方法,或者因爲它是邏輯數據成員我應該使用property.If我使用屬性我可以調用DBLayer的方法從getter.Please解釋方法vs屬性
問候,拉維
我是.NET的新手。我有一個名爲Project的類,一個項目可以有多個預測。現在如果我想檢查項目是否有任何預測,我應該使用一個名爲HasForecast()的只讀布爾屬性,還是應該使用名爲HasForecast()的方法基本上返回一個布爾值。從框架設計指南我知道當操作很複雜時應該使用方法,因爲這裏我從數據庫檢索預測的值,如果我考慮方法,或者因爲它是邏輯數據成員我應該使用property.If我使用屬性我可以調用DBLayer的方法從getter.Please解釋方法vs屬性
問候,拉維
屬性應該是非常輕的重量,行爲和感覺像田野。如果你需要訪問數據庫,那麼你應該使用一種方法。
請參閱MSDN這裏:http://msdn.microsoft.com/en-us/library/bzwdh01d(VS.71).aspx
屬性與方法
類庫設計者往往必須實現類成員作爲屬性或方法之間做出選擇。通常,方法表示動作和屬性表示數據。使用以下準則來幫助您選擇這些選項。
當
使用時的方法:
如果該方法調用會啓動一個數據庫查詢我想使它一個方法,並可能改變名稱以使其成爲o很顯然,這不是簡單地返回一個字段的值。
我學到的一個好規則是,如果有機會不保證立即返回屬性*或者甚至有可能拋出異常的遠程機會,則使用方法。
*對於立即的變量定義,可以在屬性中使用邏輯,但保持儘可能短。
這不就是關於約定嗎?
我的意思是,不是屬性簡單地在一天結束時對正常吸氣劑和二次吸收劑合成糖嗎?
感謝您的答案傢伙....... – SRK 2010-06-15 02:49:03