internal Storage(XmlDocument XMLSource, Type FilterType)
: base()
{
XmlNode xmlNode = XMLSource.DocumentElement;
XmlNodeList nodeList = xmlNode.SelectNodes("/filters/filter");
foreach (XmlNode filter in nodeList)
{
object[] paramlist = new object[4];
foreach (XmlNode child in filter)
{
switch (child.Name)
{
case "rule":
paramlist[0] = child.InnerText;
break;
case "description":
paramlist[3] = child.InnerText;
break;
case "tags":
List<string> tags = new List<String>();
foreach (XmlNode tag in child)
{
tags.Add(tag.InnerText);
}
paramlist[1] = tags;
break;
case "impact":
paramlist[2] = int.Parse(child.InnerText);
break;
}
}
Filter filterToAdd = (Filter)Activator.CreateInstance(FilterType, paramlist);
base.AddFilter(filterToAdd);
}
}
#endregion