コード例 #1
0
    public static DocConfig LoadFromString()
    {
        var config = new DocConfig();

        config.Parts = new List <DocPart>();
        var part1 = new DocPart
        {
            Title   = "chapter1",
            Checked = checkBox1.Checked
        };

        config.Parts.Add(part1);

        var part2 = new DocPart
        {
            Title   = "chapter2",
            Checked = checkBox2.Checked
        };

        config.Parts.Add(part2);

        var configString = config.SaveToString();

        File.WriteAllText(@"d:\temp\test.json", configString);

        configString = File.ReadAllText(@"d:\temp\test.json");

        var ms         = new MemoryStream(Encoding.UTF8.GetBytes(configString));
        var serializer = new DataContractJsonSerializer(typeof(DocConfig));

        config = (DocConfig)serializer.ReadObject(ms);

        foreach (var part in config.Parts)
        {
            if (part.Title == "chapter1")
            {
                chekbox1.Checked = part.Checked;
                Debug.WriteLine("chapter1" + part.Checked);
            }
            if (part.Title == "chapter2")
            {
                checkbox2.Checked = part.Checked;
                Debug.WriteLine("chapter2" + part.Checked);
            }
        }

        return(config);
    }