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