Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 我可以在app.config中存储通用列表吗?_.net_Configuration_App Config - Fatal编程技术网

.net 我可以在app.config中存储通用列表吗?

.net 我可以在app.config中存储通用列表吗?,.net,configuration,app-config,.net,Configuration,App Config,这个问题似乎已经得到了回答,但解决方案对我来说并不适用。这是前一个问题: 我要做的是在app.config中存储一个结构的通用列表。(也就是说,我有一个定义了两个字段的结构,我想在app.config中存储它们的列表) 这可能吗?上面链接的问题有几个答案,但它们似乎不起作用……有点。。。假设这两个字段序列化为字符串,您可以创建一个自定义配置节并将它们直接存储在xml中。然后,编写一个自定义节处理程序来管理(从CustomTwoFieldClass的)列表之间的序列化(反序列化)。没有什么能阻止您

这个问题似乎已经得到了回答,但解决方案对我来说并不适用。这是前一个问题:

我要做的是在app.config中存储一个结构的通用列表。(也就是说,我有一个定义了两个字段的结构,我想在app.config中存储它们的列表)


这可能吗?上面链接的问题有几个答案,但它们似乎不起作用……

有点。。。假设这两个字段序列化为字符串,您可以创建一个自定义配置节并将它们直接存储在xml中。然后,编写一个自定义节处理程序来管理(从CustomTwoFieldClass的)列表之间的序列化(反序列化)。没有什么能阻止您将整个内容序列化为一个字符串并将其填充到AppSetting中。然后,您可以在需要时反序列化

编辑:看看你原来的问题,这里不是存储数据的合适地方。这根本不利于“个人资料”信息。我宁愿维护自己的平面文件,也不愿一直动态重写app.config。它最好用于“静态”应用程序范围的配置值


你有没有想过打造自己的轻量级个人资料提供商?这将使您在如何/何时/何地持久化信息方面具有各种灵活性。

确定您可以…序列化列表,更新应用设置,并在读取时反序列化

是的,这是可能的,例如

将以下代码放入app.confing文件中的设置项“Properties.settings.Default.ConfigName”下

比尔盖茨巴什拉马

我使用了以下结构,也可以使用类: 公共结构名称 { 公共字符串名{get;set;} 公共字符串LastName{get;set;} }

不是获取列表中的值的最后一步:

        XmlSerializer se = new XmlSerializer(typeof(List<EmpName>));
        TextReader tr = new StringReader(Properties.Settings.Default.ConfigName);
        XmlReader sr = XmlReader.Create(tr);
        List<EmpName> names = (List<EmpName>)se.Deserialize(sr);
XmlSerializer se=新的XmlSerializer(typeof(List));
TextReader tr=新的StringReader(Properties.Settings.Default.ConfigName);
XmlReader sr=XmlReader.Create(tr);
列表名称=(列表)se.反序列化(sr);

如果你得到答案,请投我一票

cofig条目似乎已更改,而这里的复制粘贴是其中之一


比尔盖茨巴什拉玛

你能解决它吗。如果是,请分享,它可能会帮助其他人