您可以在设置文件中使用通用列表(T)吗?

Cod*_*ezy 11 .net generics app-config

在我的设置文件中,我想有一个类型为List(Myclass)的设置....我无法在网上找到任何这样做的东西.可能吗?

Car*_*l G 12

我同意Meta-Knight的继承解决方案是最好的,但是可以通过手动编辑设置XML文件来实现.在Solution Explorer中,转到:Solution> Project> Properties> Settings.settings.右键单击Settings.settings并选择"打开方式".选择"XML(文本)编辑器".然后插入以下内容<Settings>:

<Setting Name="TestGenericList" Type="System.Collections.Generic.List&lt;int&gt;" Scope="User">
  <Value Profile="(Default)" />
</Setting>
Run Code Online (Sandbox Code Playgroud)

保存,它的工作原理.

不幸的是,它似乎不适用于需要两种或更多类型的泛型类型,因为该属性中不允许使用逗号.甚至实体编码it(&#x002C;)也无济于事.

当您在设置设计器中编辑设置文件时,以下内容会导致错误"路径中的字符非法":

<Setting Name="TestGenericDictionary" Type="System.Collections.Generic.Dictionary&lt;string&#x002C;string&gt;" Scope="User">
  <Value Profile="(Default)" />
</Setting>
Run Code Online (Sandbox Code Playgroud)


Met*_*ght 8

我假设你在谈论用户设置......

我不知道您是否可以指定泛型类型,但如果您创建自己的非泛型类型(继承自List(MyClass)),则可以将此类型指定为用户设置而没有任何问题.

就像是:

Public Class MyClassList 
    Inherits List(Of MyClass)

End Class
Run Code Online (Sandbox Code Playgroud)

然后你应该能够浏览MyClassList.