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)); } }
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)); }
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); } }