コード例 #1
0
        public T[] UnpackPodArray <T>(MessageElementPodArray l) where T : struct
        {
            string typename;

            if (CompareNamespace(l.Type, out typename))
            {
                return(((PodStub <T>)FindPodStub(typename)).UnpackPodArray(l));
            }
            else
            {
                return(node.UnpackPodArray <T>(l, context));
            }
        }
コード例 #2
0
        public virtual T UnpackPodFromArray(MessageElementPodArray s2)
        {
            if (s2.Type != TypeName)
            {
                throw new DataTypeException("pod type mismatch");
            }
            var cdataElements = s2.Elements;

            if (cdataElements.Count != 1)
            {
                throw new DataTypeException("pod type mismatch");
            }
            var e = cdataElements[0];

            if (0 != MessageElementUtil.GetMessageElementNumber(e))
            {
                throw new DataTypeException("Error in list format");
            }
            var md = (MessageElementPod)e.Data;

            return(UnpackPod(md));
        }
コード例 #3
0
 public virtual T[] UnpackPodArray(MessageElementPodArray s2)
 {
     if (s2.Type != TypeName)
     {
         throw new DataTypeException("pod type mismatch");
     }
     int count = 0;
     {
         var cdataElements = s2.Elements;
         T[] o             = new T[cdataElements.Count];
         foreach (MessageElement e in cdataElements)
         {
             if (count != MessageElementUtil.GetMessageElementNumber(e))
             {
                 throw new DataTypeException("Error in list format");
             }
             o[count] = UnpackPod((MessageElementPod)e.Data);
             count++;
         }
         return(o);
     }
 }