Ejemplo n.º 1
0
 public IntegralTypeInfo(
     Type systemType,
     IntegralTypeValueRange valueRange,
     IntegralTypeSize size)
 {
     SystemType = systemType;
     ValueRange = valueRange;
     Size       = size;
 }
Ejemplo n.º 2
0
        private static IntegralTypeSize buildTypeSize(
            Type systemType)
        {
            var minValue = systemType
                           .GetField(minValueFieldName)
                           .GetValue(null)
                           .To <long>();

            var signedness = minValue == 0
                                ? Signedness.Unsigned
                                : Signedness.Signed;

            var byteSize = Marshal.SizeOf(systemType);
            var bits     = byteSize * 8;

            var integralTypeSize = new IntegralTypeSize(
                signedness,
                bits);

            return(integralTypeSize);
        }