2015-01-15 87 views
-1

我想從我的配置文件中將值自動加載到特定類的屬性中。 我想了好幾個小時,但我自己找不到一個好的解決方案。將配置文件數據自動加載到類屬性中

  • 使用默認構造函數創建一個BaseClass。因此,默認構造函數也可以搜索配置文件中的屬性名稱。這隻對實體(只保存數據)有意義。如果我想爲普通類使用這種方式,我不能使用其他繼承。
  • 創建一個填充屬性的工廠。可能也是,但我不想每次都使用工廠。這不夠自動。
  • 類屬性?如果我使用類屬性,我可以從屬性訪問對象嗎?

你如何在你的應用程序中做到這一點?哪種方式(你知道更好/其他方式?)是自動填充屬性的最佳選擇?

編輯 我會盡量多解釋一下。我有一個應用程序與許多配置數據,我存儲在一個XML文件。例如,像相機特定的數據,圖像處理選項,使用sps類型等等。

如果我想把這個數據放到正確的類中,我必須一遍又一遍地傳遞這些數據。此外,我必須編寫相同的代碼(賦予屬性值)。 所以我想要一個讓它「神奇」自我的解決方案。

+0

我很難理解你想要完成什麼。如果您只是自動從配置文件加載值,那麼只要引用它,任何屬性都不能從配置文件中獲取值? (也許將這個值存儲在一個類級別的成員中以緩存它,所以不需要再次獲取它。)你所說的大部分內容聽起來像是過度複雜化了配置文件查找,或者我只是不理解問題的性質在哪裏? – David 2015-01-15 18:28:52

+0

您可以使用配置管理器像這樣從配置文件加載值。在類級聲明'private string value1 = ConfigurationManager.AppSettings [「Configappkey」];' – prasy 2015-01-15 18:31:04

+1

您是否考慮過System.Configuration的支持? http://haacked.com/archive/2007/03/12/custom-configuration-sections-in-3-easy-steps.aspx/ – fsimonazzi 2015-01-15 18:32:12

回答

0

也許你正在尋找連載:維基百科:

In computer science, in the context of data storage, serialization is the process of 
translating data structures or object state into a format that can be stored (for 
example, in a file or memory buffer, or transmitted across a network connection link) and 
reconstructed later in the same or another computer environment. 

http://en.wikipedia.org/wiki/Serialization

所以,你可以只創建您的配置類有variour爲不同的配置值的屬性。然後將該類序列化到一個文件('保存配置')並反序列化文件('加載配置')。

像這樣,您不必擔心類屬性映射到文件屬性。

很多語言已經內置了幫助序列化對象的幫助器。例如:

http://msdn.microsoft.com/en-us/library/4abbf6k0%28v=vs.110%29.aspx

+0

我知道序列化。但是,然後我在我的項目中有一個巨大的配置類,我必須自己分配值。我想避免這最後一步。 – Mitja 2015-01-15 18:38:30

相關問題