示例#1
0
        public static Multiple <T> Decode(ByteBuffer buffer)
        {
            object obj = AmqpEncoding.DecodeObject(buffer);

            if (obj == null)
            {
                return(null);
            }
            if (obj is T)
            {
                Multiple <T> multiple = new Multiple <T>();
                multiple.Add((T)obj);
                return(multiple);
            }
            if (!obj.GetType().IsArray)
            {
                throw new AmqpException(AmqpError.InvalidField);
            }
            return(new Multiple <T>((T[])obj));
        }
示例#2
0
        public static Multiple <T> Decode(ByteBuffer buffer)
        {
            object value = AmqpEncoding.DecodeObject(buffer);

            if (value == null)
            {
                return(null);
            }
            else if (value is T)
            {
                Multiple <T> multiple = new Multiple <T>();
                multiple.Add((T)value);
                return(multiple);
            }
            else if (value.GetType().IsArray)
            {
                Multiple <T> multiple = new Multiple <T>((T[])value);
                return(multiple);
            }
            else
            {
                throw new AmqpException(AmqpError.InvalidField);
            }
        }