Ejemplo n.º 1
0
        // Token: 0x060014E3 RID: 5347 RVA: 0x0006101C File Offset: 0x0005F21C
        private Class_463 cmethod_3824(Type arg_0, Class_364 arg_1)
        {
            Class_463 class_ = Class_463.None;

            if (arg_1 != Class_364.Always && Class_514.IsNullable(arg_0))
            {
                class_ = Class_463.Null;
                if (Class_514.IsNullableType(arg_0))
                {
                    arg_0 = Nullable.GetUnderlyingType(arg_0);
                }
            }
            Class_496 typeCode = Class_499.GetTypeCode(arg_0);

            switch (typeCode)
            {
            case Class_496.Empty:
            case Class_496.Object:
                return(class_ | Class_463.String);

            case Class_496.Char:
                return(class_ | Class_463.String);

            case Class_496.Boolean:
                return(class_ | Class_463.Boolean);

            case Class_496.SByte:
            case Class_496.Int16:
            case Class_496.UInt16:
            case Class_496.Int32:
            case Class_496.Byte:
            case Class_496.UInt32:
            case Class_496.Int64:
            case Class_496.UInt64:
            case Class_496.BigInteger:
                return(class_ | Class_463.Integer);

            case Class_496.Single:
            case Class_496.Double:
            case Class_496.Decimal:
                return(class_ | Class_463.Float);

            case Class_496.DateTime:
            case Class_496.DateTimeOffset:
                return(class_ | Class_463.String);

            case Class_496.Guid:
            case Class_496.TimeSpan:
            case Class_496.Uri:
            case Class_496.String:
            case Class_496.Bytes:
                return(class_ | Class_463.String);

            case Class_496.DBNull:
                return(class_ | Class_463.Null);
            }
            throw new Class_318("Unexpected type code '{0}' for type '{1}'.".FormatWith(CultureInfo.InvariantCulture, typeCode, arg_0));
        }
Ejemplo n.º 2
0
        // Token: 0x06001792 RID: 6034 RVA: 0x0006FC5C File Offset: 0x0006DE5C
        public static object GetDefaultValue(Type type)
        {
            if (!type.IsValueType)
            {
                return(null);
            }
            Class_496 typeCode = Class_499.GetTypeCode(type);

            switch (typeCode)
            {
            case Class_496.Char:
            case Class_496.SByte:
            case Class_496.Int16:
            case Class_496.UInt16:
            case Class_496.Int32:
            case Class_496.Byte:
            case Class_496.UInt32:
                return(0);

            case Class_496.CharNullable:
            case Class_496.BooleanNullable:
            case Class_496.SByteNullable:
            case Class_496.Int16Nullable:
            case Class_496.UInt16Nullable:
            case Class_496.Int32Nullable:
            case Class_496.ByteNullable:
            case Class_496.UInt32Nullable:
            case Class_496.Int64Nullable:
            case Class_496.UInt64Nullable:
            case Class_496.SingleNullable:
            case Class_496.DoubleNullable:
            case Class_496.DateTimeNullable:
            case Class_496.DateTimeOffsetNullable:
            case Class_496.DecimalNullable:
                break;

            case Class_496.Boolean:
                return(false);

            case Class_496.Int64:
            case Class_496.UInt64:
                return(0L);

            case Class_496.Single:
                return(0f);

            case Class_496.Double:
                return(0.0);

            case Class_496.DateTime:
                return(default(DateTime));

            case Class_496.DateTimeOffset:
                return(default(DateTimeOffset));

            case Class_496.Decimal:
                return(0m);

            case Class_496.Guid:
                return(default(Guid));

            default:
                if (typeCode == Class_496.BigInteger)
                {
                    return(default(BigInteger));
                }
                break;
            }
            if (Class_514.IsNullable(type))
            {
                return(null);
            }
            return(Activator.CreateInstance(type));
        }
Ejemplo n.º 3
0
 // Token: 0x06000EC2 RID: 3778 RVA: 0x0004D7B4 File Offset: 0x0004B9B4
 public Class_369(Type arg_0) : base(arg_0)
 {
     this.field_5 = Class_448.Primitive;
     this.prop_0  = Class_499.GetTypeCode(arg_0);
     this.field_6 = true;
 }