internal static List <DataSerialization.Argument> GetParameters(this XmlElement xmlElement) { ListOfExtensionObject _wrapper = xmlElement.GetObject <ListOfExtensionObject>(); Debug.Assert(_wrapper != null); if (_wrapper.ExtensionObject.AsEnumerable <ExtensionObject>().Where <ExtensionObject>(x => !((string)x.TypeId.Identifier).Equals("i=297")).Any()) { throw new ArgumentOutOfRangeException("ExtensionObject.TypeId.Identifier"); } List <DataSerialization.Argument> _ret = new List <DataSerialization.Argument>(); foreach (ExtensionObject item in _wrapper.ExtensionObject) { _ret.Add(item.Body.GetObject <DataSerialization.Argument>()); } return(_ret); }
public void ArgumentDecodingTestMethod() { FileInfo _file = new FileInfo(@"Coding\ArgumentsTest.xml"); Assert.IsTrue(_file.Exists); ListOfExtensionObject _wrapper = XmlFile.ReadXmlFile <ListOfExtensionObject>(_file.FullName); Assert.IsNotNull(_wrapper); Assert.AreEqual <string>("i=297", _wrapper.ExtensionObject[0].TypeId.Identifier); Assert.AreEqual <int>(2, _wrapper.ExtensionObject.Length); Argument _argument1 = XmlHelper.GetObject <Argument>(_wrapper.ExtensionObject[0].Body); Assert.AreEqual <string>("Input1", _argument1.Name); Assert.AreEqual <int>(3, _argument1.ArrayDimensions.Length); Assert.AreEqual <int>(-1, _argument1.ValueRank); Assert.IsNull(_argument1.Description); }