Ejemplo n.º 1
0
        public T[] UnpackNamedArray <T>(MessageElementNamedArray l) where T : struct
        {
            string typename;

            if (CompareNamespace(l.Type, out typename))
            {
                return(((INamedArrayStub <T>)FindNamedArrayStub(typename)).UnpackNamedArray(l));
            }
            else
            {
                return(node.UnpackNamedArray <T>(l, context));
            }
        }
        public virtual T[] UnpackNamedArray(MessageElementNamedArray s2)
        {
            if (s2.Type != TypeName)
            {
                throw new DataTypeException("namedarray type mismatch");
            }
            var cdataElements = s2.Elements;

            if (cdataElements.Count != 1)
            {
                throw new DataTypeException("pod type mismatch");
            }
            var a = MessageElementUtil.FindElementAndCast <U[]>(cdataElements, "array");

            return(GetNamedArrayFromNumericArray(a));
        }