<PackageReference Include="System.Memory" Version="4.5.2" />

NUInt

struct NUInt
namespace System { internal struct NUInt { private unsafe readonly void* _value; private unsafe NUInt(uint value) { _value = (void*)value; } private unsafe NUInt(ulong value) { _value = (void*)value; } public static implicit operator NUInt(uint value) { return new NUInt(value); } public unsafe static implicit operator IntPtr(NUInt value) { return (IntPtr)value._value; } public static explicit operator NUInt(int value) { return new NUInt((uint)value); } public unsafe static explicit operator void*(NUInt value) { return value._value; } public unsafe static NUInt operator *(NUInt left, NUInt right) { if (sizeof(IntPtr) != 4) return new NUInt((ulong)((long)left._value * (long)right._value)); return new NUInt((uint)((int)left._value * (int)right._value)); } } }