在我的設置文件中,我想有一個類型爲List(Myclass)的設置....我無法在網絡上找到任何這樣做的設置。可能嗎?你可以在你的設置文件中有一個通用的列表(T)嗎?
回答
我假設你在談論用戶設置...
我不知道,如果你可以指定一個泛型類型,但如果你創建自己的非泛型類型,從列表繼承(的MyClass ),那麼你可以指定這種類型作爲你的用戶設置沒有任何問題。
喜歡的東西:
Public Class MyClassList
Inherits List(Of MyClass)
End Class
那麼你應該能夠瀏覽MyClassList。
是的,這是可能的,只需鍵入列表<SomeType> 手動進入類型字段,它應該工作。
您可以將您的List<T>
序列化爲一個字符串,並將其放入您的設置文件中。
會這樣嗎?
我同意Meta-Knight的繼承解決方案是最好的,但是可以通過手動編輯設置XML文件來完成此操作。在解決方案資源管理器中,轉到:解決方案>項目>屬性> Settings.settings。右鍵點擊Settings.settings並選擇「Open With」。選擇「XML(文本)編輯器」。然後插入以下內容<Settings>
:
<Setting Name="TestGenericList" Type="System.Collections.Generic.List<int>" Scope="User">
<Value Profile="(Default)" />
</Setting>
保存,它的工作原理。
不幸的是,它似乎不適用於需要兩種或更多類型的泛型類型,因爲該屬性中不允許使用逗號。即使實體編碼它(,
)也沒有幫助。
下會導致錯誤「路徑非法字符」當你去編輯設置文件中的設置設計師
<Setting Name="TestGenericDictionary" Type="System.Collections.Generic.Dictionary<string,string>" Scope="User">
<Value Profile="(Default)" />
</Setting>
我可能有點晚了遊戲中提供瞭解決這一答案,但是您可以將泛型設置屬性包含在項目中不同文件的分部類中,因此Settings Designer不會覆蓋您添加的任何自定義代碼。
在我的情況下(使用VB.NET),我想在My.Settings中存儲Dictionary(Of String, String)
,但字典必須序列化爲Binary,因爲它不容易序列化爲XML。我刪除了從設計師的設置屬性,然後添加的文件Settings.Extended.vb我用下面的代碼裏面的項目:
'** Keeping My.Settings.FormLayouts out of Settings.Designer.vb so that this custom code is not overwritten by Visual Studio.'
Namespace My
Partial Friend NotInheritable Class MySettings
<Configuration.UserScopedSettingAttribute(), _
DebuggerNonUserCodeAttribute(), _
Configuration.SettingsSerializeAs(Configuration.SettingsSerializeAs.Binary)> _
Public Property FormLayouts() As Dictionary(Of String, String)
Get
Return CType(Me("FormLayouts"), Dictionary(Of String, String))
End Get
Set(ByVal value As Dictionary(Of String, String))
Me("FormLayouts") = value
End Set
End Property
End Class
End Namespace
的FormLayouts屬性仍然My.Settings的一部分,將被載入並照常保存,但在應用程序的Settings Designer中添加更多設置不會覆蓋上面的代碼。
- 1. 你可以在LESS CSS的mixin中設置一個變量嗎?
- 2. 你可以在WPF中設置一個元素的背景嗎?
- 3. 你可以設置表中某一行的值嗎?
- 4. 你可以設置一個利用iText
- 5. 你可以在C#2.0中設置一個整數爲空嗎?
- 6. 你可以在另一個文件中使用#define變量嗎?
- 7. 你可以有多個domready事件嗎?
- 8. 你可以在MVC的表級設置自動化屬性嗎?
- 9. 你可以在你的URLS.py文件中有查看功能
- 10. 你可以用msmq中的所有消息獲得一個列表嗎?
- 11. 你可以在XML佈局中設置「製表順序」嗎?
- 12. 你可以在ASP.NET中有一個插件體系結構嗎?
- 13. 你可以在Android中創建一個.dat文件嗎
- 14. 你可以在Vb.Net中「標記」一個文件嗎?
- 15. 你可以將多個文件合併成一個文件嗎?
- 16. 你可以設置一個以上的變量,一個價值
- 17. 你可以在一行中用!bpmd設置一個斷點命令嗎?
- 18. 當你在一個TableLayout的子項中時,你可以拖放一個TextView嗎?
- 19. TFSBuild可以取代你的web.config設置的一部分嗎?
- 20. 你可以在「connectionDidFinishLoading」中設置tableView數據源的值嗎?
- 21. 你可以在silverlight中設置一個listboxitem背景的漸變畫筆嗎?
- 22. 你可以使用jQuery設置一個asp.net web用戶控件屬性嗎?
- 23. 你可以在龍捲風中使用StaticFileHandler設置cookie嗎?
- 24. 你可以在C#中使用通用表單嗎?
- 25. 你可以在一個目錄中有多個Go源文件嗎?
- 26. javascript/jquery有一個你可以創建的事件模型嗎?
- 27. 你可以在log4net配置中設置屬性值嗎?
- 28. 你可以在IronPython中設計一個.NET對象嗎?
- 29. 你可以用一個框架的POST來調用表單嗎
- 30. MVC webgrid - 你可以隱藏一列嗎?
你是什麼意思的「在我的設置文件中」 – Bob 2009-06-04 17:14:40
你打算從T繼承混合類型嗎? – 2009-06-04 17:24:23
settings.Settings包含在Visual Studio中的窗體項目中的文件。允許您指定用戶和應用程序範圍設置並在代碼中引用它們。 – Codezy 2009-06-04 17:25:23