/// <summary> /// Reads a known DescribedType object from the buffer given the already read descriptor. /// </summary> /// <param name="buffer"></param> /// <param name="descriptor"></param> public static object DecodeKnownDescribedType(ByteBuffer buffer, Descriptor descriptor) { Func <object> ctor; if (DescribedTypeCodec.TryGetKnownDescribedConstructor(descriptor.Code, out ctor)) { var instance = ctor() as DescribedType; instance.Decode(buffer); return(instance); } else { throw new AmqpException(ErrorCode.DecodeError, $"Missing Constructor For Known Described Type {descriptor.ToString()}"); } }