1659 {
1660 if (typeof(T) == typeof(byte))
1661 {
1662 return (byte)(object)left > (byte)(object)right;
1663 }
1664 if (typeof(T) == typeof(sbyte))
1665 {
1666 return (sbyte)(object)left > (sbyte)(object)right;
1667 }
1668 if (typeof(T) == typeof(ushort))
1669 {
1670 return (ushort)(object)left > (ushort)(object)right;
1671 }
1672 if (typeof(T) == typeof(short))
1673 {
1674 return (short)(object)left > (short)(object)right;
1675 }
1676 if (typeof(T) == typeof(uint))
1677 {
1678 return (uint)(object)left > (uint)(object)right;
1679 }
1680 if (typeof(T) == typeof(int))
1681 {
1682 return (int)(object)left > (int)(object)right;
1683 }
1684 if (typeof(T) == typeof(ulong))
1685 {
1686 return (ulong)(object)left > (ulong)(object)right;
1687 }
1688 if (typeof(T) == typeof(long))
1689 {
1690 return (long)(object)left > (long)(object)right;
1691 }
1692 if (typeof(T) == typeof(float))
1693 {
1694 return (float)(object)left > (float)(object)right;
1695 }
1696 if (typeof(T) == typeof(double))
1697 {
1698 return (double)(object)left > (double)(object)right;
1699 }
1700 if (typeof(T) == typeof(UIntPtr))
1701 {
1702 return (nuint)(
UIntPtr)(
object)left > (nuint)(UIntPtr)(object)right;
1703 }
1704 if (typeof(T) == typeof(IntPtr))
1705 {
1706 return (nint)(
IntPtr)(
object)left > (nint)(IntPtr)(object)right;
1707 }
1708 throw new NotSupportedException(SR.Arg_TypeNotSupported);
1709 }