public static new 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;
}