示例#1
0
        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);
        }
示例#2
0
        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);
        }