winform c#的持久数据

时间:2012-03-02 00:16:57

标签: winforms

我有一个网络海报应用程序,我想为它创建一个“定义”文件。基本上只是我在启动时导入程序的一堆字符串。我希望它们在外部源中,因此我可以在不更改可执行文件的情况下更新它。

我正在考虑创建一个新的静态类,比如“PosterDefinition”,并在应用程序启动时导入定义文件,并从那里设置PosterDefintion值。

至于如何保存它,可能会从程序本身序列化数据(一次性过程)。

请分享您的想法。

感谢。

1 个答案:

答案 0 :(得分:0)

我建议您将其保存在XML文件中。这将允许您使用LINQ-XML快速获取数据。您可以做的是创建查看文件以进行更改的属性。您可以在Application对象中缓存值。在几次请求之后,或在每次请求之后,检查文件。因为LINQ,或更好的PLINQ,快速,但请求不会花费很长时间。

以下是一个示例XML文档:

<?xml version="1.0" encoding="utf-8"?>
<Definition>
    <Item>
        <Title>t</Title>
        <Something>Pie</Something>
    </Item>
</Definition>

以下是如何使用Title t

访问项目的Something
using System.Xml;
using System.Xml.Linq;

XElement element = XElement.Load("definitions.xml");
XElement item = (from item in element.Elements()
                where item.Elements().Where(i => (string)i.Element("Title") == "t")
                select item.Element("Something")).First();

我没有对此进行测试,我在LINQ上表现不好,所以请检查一下。

相关问题