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