public NonIntegralTypeInfo( [NotNull] Type systemType, [NotNull] NonIntegralTypeValueRange valueRange, [NotNull] NonIntegralTypeSizeInfo size) : base( systemType) { valueRange.IsNotNull(nameof(valueRange)); size.IsNotNull(nameof(size)); ValueRange = valueRange; Size = size; }
private static NonIntegralTypeSizeInfo 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 NonIntegralTypeSizeInfo( signedness, bits); return(integralTypeSize); }