Beispiel #1
0
        public override TOut Cast(TIn value)
        {
            switch (typeCode)
            {
            default:
            case TypeCode.Empty:
            case TypeCode.Object:
            case TypeCode.DBNull:
                return(default(TOut));

            case TypeCode.Boolean:
                return(Caster <bool, TOut> .BitwiseCast(value.ToBoolean(null)));

            case TypeCode.Char:
                return(Caster <char, TOut> .BitwiseCast(value.ToChar(null)));

            case TypeCode.SByte:
                return(Caster <sbyte, TOut> .BitwiseCast(value.ToSByte(null)));

            case TypeCode.Byte:
                return(Caster <byte, TOut> .BitwiseCast(value.ToByte(null)));

            case TypeCode.Int16:
                return(Caster <short, TOut> .BitwiseCast(value.ToInt16(null)));

            case TypeCode.UInt16:
                return(Caster <ushort, TOut> .BitwiseCast(value.ToUInt16(null)));

            case TypeCode.Int32:
                return(Caster <int, TOut> .BitwiseCast(value.ToInt32(null)));

            case TypeCode.UInt32:
                return(Caster <uint, TOut> .BitwiseCast(value.ToUInt32(null)));

            case TypeCode.Int64:
                return(Caster <long, TOut> .BitwiseCast(value.ToInt64(null)));

            case TypeCode.UInt64:
                return(Caster <ulong, TOut> .BitwiseCast(value.ToUInt64(null)));

            case TypeCode.Single:
                return(Caster <float, TOut> .BitwiseCast(value.ToSingle(null)));

            case TypeCode.Double:
                return(Caster <double, TOut> .BitwiseCast(value.ToDouble(null)));

            case TypeCode.Decimal:
                return(Caster <decimal, TOut> .BitwiseCast(value.ToDecimal(null)));

            case TypeCode.DateTime:
                return(Caster <DateTime, TOut> .BitwiseCast(value.ToDateTime(null)));

            case TypeCode.String:
                return(Caster <string, TOut> .BitwiseCast(value.ToString(null)));
            }
        }
Beispiel #2
0
 public override TOut Cast(TEnum value)
 {
     return(caster.Cast(Caster <TEnum, TUnder> .BitwiseCast(value)));
 }
Beispiel #3
0
 public override TEnum Cast(TIn value)
 {
     return(Caster <TUnder, TEnum> .BitwiseCast(caster.Cast(value)));
 }