2012年2月2日 星期四

[.NET程式開發] Console程式新增定義檔

之前在開發Window Form專案,使用Settings.settings來設定義值是件非常直覺又方便的事。


 使用時只要宣告就可以輕鬆取得你要的字串:
string sABC = Properties.Settings.Default.ABC;

今天有同事在寫Console程式也想要使用設定檔的功能,但是卻怎樣也取不到值一直出錯。我看他的設好值了,取值也用 Properties.Settings.Default.xxx 跟我之前的習慣是一樣的呀!??

後來看了一下官方的文章: 專案設計工具、設定頁
恩恩~老實說,我還是不知道Console程式在使用設定檔出了什麼問題。

Console程式是不會像Window Form一樣自動把Settings.settings預設建入專案內,如果Console程式想要用到Settings的功能,就要自己在 [加入 /新增項目]選擇 [設定頁],這樣就會如下圖:



ps.一開始只有Settings1.settings,我好奇點開了Settings1.settings裡面有[檢視程式碼]才出現Settings.cs喔!

這時後,我就在想Console程式怎麼和新增的Settings1.settings有關連,用Properties.Settings.Default.xxx就可以了嗎? 這也太神奇了!

從Settings1.cs很快就發現:Settings1.settings其實裡面就一個clsss,那就用一般取用class的方法應該就行了!

string sABC = Settings1.Default.ABC;

成功囉!   這樣你有很多的設定頁的話,可以將檔名改有意義的名稱,A專案的設定頁也可以給B專案直接使用,彈性還滿大的!

喔耶!  小小的發現~ 順便補充:

設定頁裡的範圍
選取 [應用程式] 或 [使用者]。
  • 應用程式範圍的設定 (例如連接字串) 與應用程式關聯,因此,使用者不能在執行階段進行變更。
  • 使用者範圍的設定 (例如系統字型) 是針對使用者偏好設定而設計,因此,使用者可以在執行階段進行變更。

沒有留言:

張貼留言