示例#1
0
        public OptionsList(XmlReader reader)
        {
            Options = new List<Option>();

            reader.ReadStartElement("options");
            while (reader.IsStartElement("option"))
            {
                var option = new Option
                                 {
                                     Probability =
                                         double.Parse(reader.GetAttribute("probability") ?? "1",
                                                      CultureInfo.InvariantCulture)
                                 };
                reader.Read(); // <option>
                option.Definition = new PackDefinition(reader);
                reader.ReadEndElement(); // </option>
                Options.Add(option);
            }
            reader.ReadEndElement(); // </random>
        }
示例#2
0
 internal OptionsList DeserializeOptions(XElement element)
 {
     var ret = new OptionsList();
     foreach (var op in element.Elements("option"))
     {
         var option = new Option();
         var probAtt = op.Attributes("probability").FirstOrDefault();
         option.Probability = double.Parse(probAtt != null ? probAtt.Value : "1", CultureInfo.InvariantCulture);
         option.Definition = DeserializePack(op.Elements());
         ret.Options.Add(option);
     }
     return ret;
 }