public new static ArrayMarshalDescriptor FromReader(IBinaryStreamReader reader) { var descriptor = new ArrayMarshalDescriptor((NativeType)reader.ReadByte()); uint value; if (!reader.TryReadCompressedUInt32(out value)) { return(descriptor); } descriptor.ParameterIndex = (int)value; if (!reader.TryReadCompressedUInt32(out value)) { return(descriptor); } descriptor.NumberOfElements = (int)value; return(descriptor); }