System.Convert

using System.Threading;
using System.Globalization;
namespace System
{
    public static class Convert : System.Object
    {
        internal static readonly System.Type[] ConvertTypes;
        internal static readonly System.Type EnumType;
        internal static readonly char[] base64Table;
        public static readonly object DBNull;
        public static System.TypeCode GetTypeCode(object @value)
        {
            // 代码大小       24 (0x18)
            //.maxstack  1
            //.locals init (class System.IConvertible V_0)
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldarg.0
            //IL_0006:  isinst     System.IConvertible
            //IL_000b:  stloc.0
            //IL_000c:  ldloc.0
            //IL_000d:  brfalse.s  IL_0016

            //IL_000f:  ldloc.0
            //IL_0010:  callvirt   instance valuetype System.TypeCode System.IConvertible::GetTypeCode()
            //IL_0015:  ret

            //IL_0016:  ldc.i4.1
            //IL_0017:  ret
            System.IConvertible V_0;
            if (@value == null)
            {
                return System.TypeCode.Empty;
            }
            else
            {
                V_0 = @value as System.IConvertible;
                if (V_0 != null)
                {
                    V_0.GetTypeCode();
                }
                else
                {
                    return System.TypeCode.Object;
                }
            }

        }

        public static bool IsDBNull(object @value)
        {
            // 代码大小       32 (0x20)
            //.maxstack  3
            //.locals init (class System.IConvertible V_0)
            //IL_0000:  ldarg.0
            //IL_0001:  ldsfld     class System.DBNull System.DBNull::Value
            //IL_0006:  bne.un.s   IL_000a

            //IL_0008:  ldc.i4.1
            //IL_0009:  ret

            //IL_000a:  ldarg.0
            //IL_000b:  isinst     System.IConvertible
            //IL_0010:  stloc.0
            //IL_0011:  ldloc.0
            //IL_0012:  brtrue.s   IL_0016

            //IL_0014:  ldc.i4.0
            //IL_0015:  ret

            //IL_0016:  ldloc.0
            //IL_0017:  callvirt   instance valuetype System.TypeCode System.IConvertible::GetTypeCode()
            //IL_001c:  ldc.i4.2
            //IL_001d:  ceq
            //IL_001f:  ret
            System.IConvertible V_0;
            if (@value == System.DBNull.Value)
            {
                return true;
            }
            else
            {
                V_0 = (@value as System.IConvertible);
                if (V_0 == null)
                {
                    return false;
                }
                else
                {
                    return (V_0.GetTypeCode() == System.TypeCode.DBNull);
                }
            }
        }

        public static object ChangeType(object @value, System.TypeCode typeCode)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldarg.1
            //IL_0002:  call       class System.Threading.Thread System.Threading.Thread::get_CurrentThread()
            //IL_0007:  callvirt   instance class System.Globalization.CultureInfo System.Threading.Thread::get_CurrentCulture()
            //IL_000c:  call       object System.Convert::ChangeType(object,
            //                                                       valuetype System.TypeCode,
            //                                                       class System.IFormatProvider)
            //IL_0011:  ret
            return Convert.ChangeType(@value, typeCode, Thread.CurrentThread.CurrentCulture);
        }

        public static object ChangeType(object @value, System.TypeCode typeCode, System.IFormatProvider provider)
        {
            // 代码大小       372 (0x174)
            //.maxstack  2                                                
            //.locals init (class System.IConvertible V_0,
            //         valuetype System.TypeCode V_1)
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0011

            //IL_0003:  ldarg.1                        
            //IL_0004:  brfalse.s  IL_000f

            //IL_0006:  ldarg.1                                     
            //IL_0007:  ldc.i4.s   18
            //IL_0009:  beq.s      IL_000f

            //IL_000b:  ldarg.1                 
            //IL_000c:  ldc.i4.1
            //IL_000d:  bne.un.s   IL_0011

            //IL_000f:  ldnull
            //IL_0010:  ret

            //IL_0011:  ldarg.0                   
            //IL_0012:  isinst     System.IConvertible
            //IL_0017:  stloc.0
            //IL_0018:  ldloc.0
            //IL_0019:  brtrue.s   IL_002b

            //IL_001b:  ldstr      "InvalidCast_IConvertible"              
            //IL_0020:  call       string System.Environment::GetResourceString(string)
            //IL_0025:  newobj     instance void System.InvalidCastException::.ctor(string)
            //IL_002a:  throw

            //IL_002b:  ldarg.1          
            //IL_002c:  stloc.1
            //IL_002d:  ldloc.1
            //IL_002e:  switch     ( 
            //                      IL_0154,
            //                      IL_0142,
            //                      IL_0144,
            //                      IL_0084,
            //                      IL_0091,
            //                      IL_009e,
            //                      IL_00ab,
            //                      IL_00b8,
            //                      IL_00c5,
            //                      IL_00d2,
            //                      IL_00df,
            //                      IL_00ec,
            //                      IL_00f9,
            //                      IL_0106,
            //                      IL_0113,
            //                      IL_0120,
            //                      IL_012d,
            //                      IL_0164,
            //                      IL_013a)
            //IL_007f:  br         IL_0164

            //IL_0084:  ldloc.0                  
            //IL_0085:  ldarg.2
            //IL_0086:  callvirt   instance bool System.IConvertible::ToBoolean(class System.IFormatProvider)
            //IL_008b:  box        System.Boolean
            //IL_0090:  ret

            //IL_0091:  ldloc.0                 
            //IL_0092:  ldarg.2
            //IL_0093:  callvirt   instance char System.IConvertible::ToChar(class System.IFormatProvider)
            //IL_0098:  box        System.Char
            //IL_009d:  ret

            //IL_009e:  ldloc.0                 
            //IL_009f:  ldarg.2
            //IL_00a0:  callvirt   instance int8 System.IConvertible::ToSByte(class System.IFormatProvider)
            //IL_00a5:  box        System.SByte
            //IL_00aa:  ret

            //IL_00ab:  ldloc.0                 
            //IL_00ac:  ldarg.2
            //IL_00ad:  callvirt   instance uint8 System.IConvertible::ToByte(class System.IFormatProvider)
            //IL_00b2:  box        System.Byte
            //IL_00b7:  ret

            //IL_00b8:  ldloc.0                 
            //IL_00b9:  ldarg.2
            //IL_00ba:  callvirt   instance int16 System.IConvertible::ToInt16(class System.IFormatProvider)
            //IL_00bf:  box        System.Int16
            //IL_00c4:  ret

            //IL_00c5:  ldloc.0                 
            //IL_00c6:  ldarg.2
            //IL_00c7:  callvirt   instance uint16 System.IConvertible::ToUInt16(class System.IFormatProvider)
            //IL_00cc:  box        System.UInt16
            //IL_00d1:  ret

            //IL_00d2:  ldloc.0                 
            //IL_00d3:  ldarg.2
            //IL_00d4:  callvirt   instance int32 System.Convertible::ToInt32(class System.IFormatProvider)
            //IL_00d9:  box        System.Int32
            //IL_00de:  ret

            //IL_00df:  ldloc.0                 
            //IL_00e0:  ldarg.2
            //IL_00e1:  callvirt   instance uint32 System.IConvertible::ToUInt32(class System.IFormatProvider)
            //IL_00e6:  box        System.UInt32
            //IL_00eb:  ret

            //IL_00ec:  ldloc.0                 
            //IL_00ed:  ldarg.2
            //IL_00ee:  callvirt   instance int64 System.IConvertible::ToInt64(class System.IFormatProvider)
            //IL_00f3:  box        System.Int64
            //IL_00f8:  ret

            //IL_00f9:  ldloc.0                 
            //IL_00fa:  ldarg.2
            //IL_00fb:  callvirt   instance uint64 System.IConvertible::ToUInt64(class System.IFormatProvider)
            //IL_0100:  box        System.UInt64
            //IL_0105:  ret

            //IL_0106:  ldloc.0                 
            //IL_0107:  ldarg.2
            //IL_0108:  callvirt   instance float32 System.IConvertible::ToSingle(class System.IFormatProvider)
            //IL_010d:  box        System.Single
            //IL_0112:  ret

            //IL_0113:  ldloc.0                 
            //IL_0114:  ldarg.2
            //IL_0115:  callvirt   instance float64 System.IConvertible::ToDouble(class System.IFormatProvider)
            //IL_011a:  box        System.Double
            //IL_011f:  ret

            //IL_0120:  ldloc.0                 
            //IL_0121:  ldarg.2
            //IL_0122:  callvirt   instance valuetype System.Decimal System.IConvertible::ToDecimal(class System.IFormatProvider)
            //IL_0127:  box        System.Decimal
            //IL_012c:  ret

            //IL_012d:  ldloc.0                 
            //IL_012e:  ldarg.2
            //IL_012f:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_0134:  box        System.DateTime
            //IL_0139:  ret

            //IL_013a:  ldloc.0                  
            //IL_013b:  ldarg.2
            //IL_013c:  callvirt   instance string System.IConvertible::ToString(class System.IFormatProvider)
            //IL_0141:  ret

            //IL_0142:  ldarg.0                 
            //IL_0143:  ret

            //IL_0144:  ldstr      "InvalidCast_DBNull"
            //IL_0149:  call       string System.Environment::GetResourceString(string)
            //IL_014e:  newobj     instance void System.InvalidCastException::.ctor(string)
            //IL_0153:  throw

            //IL_0154:  ldstr      "InvalidCast_Empty"
            //IL_0159:  call       string System.Environment::GetResourceString(string)
            //IL_015e:  newobj     instance void System.InvalidCastException::.ctor(string)
            //IL_0163:  throw

            //IL_0164:  ldstr      "Arg_UnknownTypeCode"                      
            //IL_0169:  call       string System.Environment::GetResourceString(string)
            //IL_016e:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_0173:  throw

            System.IConvertible V_0;
            System.TypeCode V_1;
            if (@value == null)
            {
                //IL_0003
                if (typeCode == System.TypeCode.Empty)
                {
                    return null;
                }
                else if (typeCode == System.TypeCode.String)
                {
                    return null;
                }
                else if (typeCode == System.TypeCode.Object)
                {
                    return null;
                }
            }

            //IL_0011
            V_0 = @value as System.IConvertible;
            if (V_0 == null)
            {
                //IL_001b
                throw new System.InvalidCastException(System.Environment.GetResourceString("InvalidCast_IConvertible"));
            }
           else
            {
                //IL_002b
                V_1 = typeCode;
                switch (V_1)
                {
                    case System.TypeCode.Empty:
                        throw new System.InvalidCastException(System.Environment.GetResourceString("InvalidCast_Empty"));
                    //IL_0154,
                    case System.TypeCode.Object:
                        return @value;
                    //IL_0142,
                    case System.TypeCode.DBNull:
                        throw new System.InvalidCastException(System.Environment.GetResourceString("InvalidCast_DBNull"));
                    //IL_0144,
                    case System.TypeCode.Boolean:
                        return (object)V_0.ToBoolean(provider);
                    //IL_0084,
                    case System.TypeCode.Char:
                        return (object)V_0.ToChar(provider);
                    //IL_0091,
                    case System.TypeCode.SByte:
                        return (object)V_0.ToSByte(provider);
                    //IL_009e,
                    case System.TypeCode.Byte:
                        return (object)V_0.ToByte(provider);
                    //IL_00ab,
                    case System.TypeCode.Int16:
                        return (object)V_0.ToInt16(provider);
                    //IL_00b8,
                    case System.TypeCode.UInt16:
                        return (object)V_0.ToUInt16(provider);
                    //IL_00c5,
                    case System.TypeCode.Int32:
                        return (object)V_0.ToInt32(provider);
                    //IL_00d2,
                    case System.TypeCode.UInt32:
                        return (object)V_0.ToUInt32(provider);
                    //IL_00df,
                    case System.TypeCode.Int64:
                        return (object)V_0.ToInt64(provider);
                    //IL_00ec,
                    case System.TypeCode.UInt64:
                        return (object)V_0.ToUInt64(provider);
                    //IL_00f9,
                    case System.TypeCode.Single:
                        return (object)V_0.ToSingle(provider);
                    //IL_0106,
                    case System.TypeCode.Double:
                        return (object)V_0.ToDouble(provider);
                    //IL_0113,
                    case System.TypeCode.Decimal:
                        return (object)V_0.ToDecimal(provider);
                    //IL_0120,
                    case System.TypeCode.DateTime:
                        return (object)V_0.ToDatetime(provider);
                    //IL_012d,              
                    case System.TypeCode.String:
                        return (object)V_0.ToString(provider);
                    //IL_013a
                    default:
                        throw new System.ArgumentException(System.Environment.GetResourceString("Arg_UnknownTypeCode"));
                    //IL_0164,

                }
            }


        }

        internal static object DefaultToType(System.IConvertible @value, System.Type targetType, System.IFormatProvider provider)
        {
            #region IL
            // 代码大小       510 (0x1fe)
            //.maxstack  5
            //.locals init (object[] V_0)                               
            //IL_0000:  ldarg.1
            //IL_0001:  brtrue.s   IL_000e

            //IL_0003:  ldstr      "targetType"
            //IL_0008:  newobj     instance void System.ArgumentNullException::.ctor(string)
            //IL_000d:  throw

            //IL_000e:  ldarg.0                       
            //IL_000f:  callvirt   instance class System.Type System.Object::GetType()
            //IL_0014:  ldarg.1
            //IL_0015:  bne.un.s   IL_0019

            //IL_0017:  ldarg.0
            //IL_0018:  ret

            //IL_0019:  ldarg.1            
            //IL_001a:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_001f:  ldc.i4.3
            //IL_0020:  ldelem.ref
            //IL_0021:  bne.un.s   IL_0030

            //IL_0023:  ldarg.0
            //IL_0024:  ldarg.2
            //IL_0025:  callvirt   instance bool System.IConvertible::ToBoolean(class System.IFormatProvider)
            //IL_002a:  box        System.Boolean
            //IL_002f:  ret

            //IL_0030:  ldarg.1              
            //IL_0031:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0036:  ldc.i4.4
            //IL_0037:  ldelem.ref
            //IL_0038:  bne.un.s   IL_0047

            //IL_003a:  ldarg.0
            //IL_003b:  ldarg.2
            //IL_003c:  callvirt   instance char System.IConvertible::ToChar(class System.IFormatProvider)
            //IL_0041:  box        System.Char
            //IL_0046:  ret

            //IL_0047:  ldarg.1             
            //IL_0048:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_004d:  ldc.i4.5
            //IL_004e:  ldelem.ref
            //IL_004f:  bne.un.s   IL_005e

            //IL_0051:  ldarg.0
            //IL_0052:  ldarg.2
            //IL_0053:  callvirt   instance int8 System.IConvertible::ToSByte(class System.IFormatProvider)
            //IL_0058:  box        System.SByte
            //IL_005d:  ret

            //IL_005e:  ldarg.1           
            //IL_005f:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0064:  ldc.i4.6
            //IL_0065:  ldelem.ref
            //IL_0066:  bne.un.s   IL_0075

            //IL_0068:  ldarg.0
            //IL_0069:  ldarg.2
            //IL_006a:  callvirt   instance uint8 System.IConvertible::ToByte(class System.IFormatProvider)
            //IL_006f:  box        System.Byte
            //IL_0074:  ret

            //IL_0075:  ldarg.1         
            //IL_0076:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_007b:  ldc.i4.7
            //IL_007c:  ldelem.ref
            //IL_007d:  bne.un.s   IL_008c

            //IL_007f:  ldarg.0
            //IL_0080:  ldarg.2
            //IL_0081:  callvirt   instance int16 System.IConvertible::ToInt16(class System.IFormatProvider)
            //IL_0086:  box        System.Int16
            //IL_008b:  ret

            //IL_008c:  ldarg.1                       
            //IL_008d:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0092:  ldc.i4.8
            //IL_0093:  ldelem.ref
            //IL_0094:  bne.un.s   IL_00a3

            //IL_0096:  ldarg.0
            //IL_0097:  ldarg.2
            //IL_0098:  callvirt   instance uint16 System.IConvertible::ToUInt16(class System.IFormatProvider)
            //IL_009d:  box        System.UInt16
            //IL_00a2:  ret

            //IL_00a3:  ldarg.1                  
            //IL_00a4:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_00a9:  ldc.i4.s   9
            //IL_00ab:  ldelem.ref
            //IL_00ac:  bne.un.s   IL_00bb

            //IL_00ae:  ldarg.0
            //IL_00af:  ldarg.2
            //IL_00b0:  callvirt   instance int32 System.IConvertible::ToInt32(class System.IFormatProvider)
            //IL_00b5:  box        System.Int32
            //IL_00ba:  ret

            //IL_00bb:  ldarg.1        
            //IL_00bc:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_00c1:  ldc.i4.s   10
            //IL_00c3:  ldelem.ref
            //IL_00c4:  bne.un.s   IL_00d3

            //IL_00c6:  ldarg.0
            //IL_00c7:  ldarg.2
            //IL_00c8:  callvirt   instance uint32 System.IConvertible::ToUInt32(class System.IFormatProvider)
            //IL_00cd:  box        System.UInt32
            //IL_00d2:  ret

            //IL_00d3:  ldarg.1               
            //IL_00d4:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_00d9:  ldc.i4.s   11
            //I_00db:  ldelem.ref
            //IL_00dc:  bne.un.s   IL_00eb

            //IL_00de:  ldarg.0
            //IL_00df:  ldarg.2
            //IL_00e0:  callvirt   instance int64 System.IConvertible::ToInt64(class System.IFormatProvider)
            //IL_00e5:  box        System.Int64
            //IL_00ea:  ret

            //IL_00eb:  ldarg.1            
            //IL_00ec:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_00f1:  ldc.i4.s   12
            //IL_00f3:  ldelem.ref
            //IL_00f4:  bne.un.s   IL_0103

            //IL_00f6:  ldarg.0
            //IL_00f7:  ldarg.2
            //IL_00f8:  callvirt   instance uint64 System.IConvertible::ToUInt64(class System.IFormatProvider)
            //IL_00fd:  box        System.UInt64
            //IL_0102:  ret

            //IL_0103:  ldarg.1             
            //IL_0104:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0109:  ldc.i4.s   13
            //IL_010b:  ldelem.ref
            //IL_010c:  bne.un.s   IL_011b

            //IL_010e:  ldarg.0
            //IL_010f:  ldarg.2
            //IL_0110:  callvirt   instance float32 System.IConvertible::ToSingle(class System.IFormatProvider)
            //IL_0115:  box        System.Single
            //IL_011a:  ret

            //IL_011b:  ldarg.1           
            //IL_011c:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0121:  ldc.i4.s   14
            //IL_0123:  ldelem.ref
            //IL_0124:  bne.un.s   IL_0133

            //IL_0126:  ldarg.0
            //IL_0127:  ldarg.2
            //IL_0128:  callvirt   instance float64 System.IConvertible::ToDouble(class System.IFormatProvider)
            //IL_012d:  box        System.Double
            //IL_0132:  ret

            //IL_0133:  ldarg.1             
            //IL_0134:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0139:  ldc.i4.s   15
            //IL_013b:  ldelem.ref
            //IL_013c:  bne.un.s   IL_014b

            //IL_013e:  ldarg.0
            //IL_013f:  ldarg.2
            //IL_0140:  callvirt   instance valuetype System.Decimal System.IConvertible::ToDecimal(class System.IFormatProvider)
            //IL_0145:  box        System.Decimal
            //IL_014a:  ret

            //IL_014b:  ldarg.1             
            //IL_014c:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0151:  ldc.i4.s   16
            //IL_0153:  ldelem.ref
            //IL_0154:  bne.un.s   IL_0163

            //IL_0156:  ldarg.0
            //IL_0157:  ldarg.2
            //IL_0158:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_015d:  box        System.DateTime
            //IL_0162:  ret

            //IL_0163:  ldarg.1                 
            //IL_0164:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0169:  ldc.i4.s   18
            //IL_016b:  ldelem.ref
            //IL_016c:  bne.un.s   IL_0176

            //IL_016e:  ldarg.0
            //IL_016f:  ldarg.2
            //IL_0170:  callvirt   instance string System.IConvertible::ToString(class System.IFormatProvider)
            //IL_0175:  ret

            //IL_0176:  ldarg.1                    
            //IL_0177:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_017c:  ldc.i4.1
            //IL_017d:  ldelem.ref
            //IL_017e:  bne.un.s   IL_0182

            //IL_0180:  ldarg.0
            //IL_0181:  ret

            //IL_0182:  ldarg.1          
            //IL_0183:  ldsfld     class System.Type System.Convert::EnumType
            //IL_0188:  bne.un.s   IL_0191

            //IL_018a:  ldarg.0
            //IL_018b:  castclass  System.Enum
            //IL_0190:  ret

            //IL_0191:  ldarg.1            
            //IL_0192:  ldsfld     class System.Type[] System.Convrt::ConvertTypes
            //IL_0197:  ldc.i4.2
            //IL_0198:  ldelem.ref
            //IL_0199:  bne.un.s   IL_01ab

            //IL_019b:  ldstr      "InvalidCast_DBNull"
            //IL_01a0:  call       string System.Environment::GetResourceString(string)
            //IL_01a5:  newobj     instance void System.InvalidCastException::.ctor(string)
            //IL_01aa:  throw

            //IL_01ab:  ldarg.1         
            //IL_01ac:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_01b1:  ldc.i4.0
            //IL_01b2:  ldelem.ref
            //IL_01b3:  bne.un.s   IL_01c5

            //IL_01b5:  ldstr      "InvalidCast_Empty"
            //IL_01ba:  call       string System.Environment::GetResourceString(string)
            //IL_01bf:  newobj     instance void System.InvalidCastException::.ctor(string)
            //IL_01c4:  throw

            //IL_01c5:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_01ca:  ldstr      "InvalidCast_FromTo"
            //IL_01cf:  call       string System.Environment::GetResourceString(string)
            //IL_01d4:  ldc.i4.2
            //IL_01d5:  newarr     System.Object
            //IL_01da:  stloc.0
            //IL_01db:  ldloc.0
            //IL_01dc:  ldc.i4.0
            //IL_01dd:  ldarg.0
            //IL_01de:  callvirt   instance class System.Type System.Object::GetType()
            //IL_01e3:  callvirt   instance string System.Type::get_FullName()
            //IL_01e8:  stelem.ref
            //IL_01e9:  ldloc.0
            //IL_01ea:  ldc.i4.1
            //IL_01eb:  ldarg.1
            //IL_01ec:  callvirt   instance string System.Type::get_FullName()
            //IL_01f1:  stelem.ref
            //IL_01f2:  ldloc.0
            //IL_01f3:  call       string System.String::Format(class System.IFormatProvider,
            //                                                  string,
            //                                                  object[])
            //IL_01f8:  newobj     instance void System.InvalidCastException::.ctor(string)
            //IL_01fd:  throw
            #endregion
            object[] V_0;
            if (targetType == null)
            {
                throw new System.ArgumentNullException("targetType");
            }
            else if (@value.GetType() == targetType)
            {
                return @value;
            }
            else if (targetType == Convert.ConvertTypes[3])
            {
                return (object)@value.ToBoolean(provider);
            }
            else if (targetType == Convert.ConvertTypes[4])
            {
                return (object)@value.ToChar(provider);
            }
            else if (targetType == Convert.ConvertTypes[5])
            {
                return (object)@value.ToSByte(provider);
            }
            else if (targetType == Convert.ConvertTypes[6])
            {
                return (object)@value.ToByte(provider);
            }
            else if (targetType == Convert.ConvertTypes[7])
            {
                return (object)@value.ToInt16(provider);
            }
            else if (targetType == Convert.ConvertTypes[8])
            {
                return (object)@value.ToUInt16(provider);
            }
            else if (targetType == Convert.ConvertTypes[9])
            {
                return (object)@value.ToInt32(provider);
            }
            else if (targetType == Convert.ConvertTypes[10])
            {
                return (object)@value.ToUInt32(provider);
            }
            else if (targetType == Convert.ConvertTypes[11])
            {
                return (object)@value.ToInt64(provider);
            }
            else if (targetType == Convert.ConvertTypes[12])
            {
                return (object)@value.ToUInt64(provider);
            }
            else if (targetType == Convert.ConvertTypes[13]
            {
                return (object)@value.ToSingle(provider);
            }
            else if (targetType == Convert.ConvertTypes[14])
            {
                return (object)@value.ToDouble(provider);
            }
            else if (targetType == Convert.ConvertTypes[15])
            {
                return (object)@value.ToDecimal(provider);
            }
            else if (targetType == Convert.ConvertTypes[16])
            {
                return (object)@value.ToDateTime(provider);
            }
            else if (targetType == Convert.ConvertTypes[18])
            {
                return @value.ToString(provider);
            }
            else if (targetType == Convert.ConvertTypes[1])
            {
                return @value;
            }
            else if (targetType == Convert.EnumType)
            {
                return (System.Enum)@value;
            }
            else if (targetType == Convert.ConvertTypes[2])
            {
                throw new System.InvalidCastException(System.Environment.GetResourceString("InvalidCast_DBNull"));
            }
            else if (targetType == Convert.ConvertTypes[0])
            {
                throw new System.InvalidCastException(System.Environment.GetResourceString("InvalidCast_Empty"));
            }
            else
            {
                //IL_01c5
                V_0 = new object[2];
                V_0[0] = @value.GetType().FullName;
                V_0[1] = targetType.FullName;
                throw new System.InvalidCastException(string.Format(CultureInfo.CurrentCulture, System.Environment.GetResourceString("InvalidCast_FromTo"), V_0));
            }

        }

        public static object ChangeType(object @value, System.Type conversionType)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldarg.1
            //IL_0002:  call       class System.Threading.Thread System.Threading.Thread::get_CurrentThread()
            //IL_0007:  callvirt   instance class System.Globalization.CultureInfo System.Threading.Thread::get_CurrentCulture()
            //IL_000c:  call       object System.Convert::ChangeType(object,
            //                                                       class System.Type,
            //                                                       class System.IFormatProvider)
            //IL_0011:  ret
            Convert.ChangeType(@value, conversionType, Thread.CurrentThread.CurrentCulture);

        }

        public static object ChangeType(object @value, System.Type conversionType, System.IFormatProvider provider)
        {
            #region IL
            // 代码大小       450 (0x1c2)
            //.maxstack  3
            //.locals init (class System.IConvertible V_0)            
            //IL_0000:  ldarg.1
            //IL_0001:  brtrue.s   IL_000e

            //IL_0003:  ldstr      "conversionType"
            //IL_0008:  newobj     instance void System.ArgumentNullException::.ctor(string)
            //IL_000d:  throw

            //IL_000e:  ldarg.0               
            //IL_000f:  brtrue.s   IL_002b

            //IL_0011:  ldarg.1
            //IL_0012:  callvirt   instance bool System.Type::get_IsValueType()
            //IL_0017:  brfalse.s  IL_0029

            //IL_0019:  ldstr      "InvalidCast_CannotCastNullToValueType"
            //IL_001e:  call       string System.Environment::GetResourceString(string)
            //IL_0023:  newobj     instance void System.InvalidCastException::.ctor(string)
            //IL_0028:  throw

            //IL_0029:  ldnull
            //IL_002a:  ret

            //IL_002b:  ldarg.0               
            //IL_002c:  isinst     System.IConvertible
            //IL_0031:  stloc.0
            //IL_0032:  ldloc.0
            //IL_0033:  brtrue.s   IL_0050

            //IL_0035:  ldarg.0
            //IL_0036:  callvirt   instance class System.Type System.Object::GetType()
            //IL_003b:  ldarg.1
            //IL_003c:  bne.un.s   IL_0040

            //IL_003e:  ldarg.0
            //IL_003f:  ret

            //IL_0040:  ldstr      "InvalidCast_IConvertible"
            //IL_0045:  call       string System.Environment::GetResourceString(string)
            //IL_004a:  newobj     instance void System.InvalidCastException::.ctor(string)
            //IL_004f:  throw

            //IL_0050:  ldarg.1                        
            //IL_0051:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0056:  ldc.i4.3
            //IL_0057:  ldelem.ref
            //IL_0058:  bne.un.s   IL_0067

            //IL_005a:  ldloc.0
            //IL_005b:  ldarg.2
            //IL_005c:  callvirt   instance bool System.IConvertible::ToBoolean(class System.IFormatProvider)
            //IL_0061:  box        System.Boolean
            //IL_0066:  ret

            //IL_0067:  ldarg.1                   
            //IL_0068:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_006d:  ldc.i4.4
            //IL_006e:  ldelem.ref
            //IL_006f:  bne.un.s   IL_007e

            //IL_0071:  ldloc.0
            //IL_0072:  ldarg.2
            //IL_0073:  callvirt   instance char System.IConvertible::ToChar(class System.IFormatProvider)
            //IL_0078:  box        System.Char
            //IL_007d:  ret

            //IL_007e:  ldarg.1            
            //IL_007f:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0084:  ldc.i4.5
            //IL_0085:  ldelem.ref
            //IL_0086:  bne.un.s   IL_0095

            //IL_0088:  ldloc.0
            //IL_0089:  ldarg.2
            //IL_008a:  callvirt   instance int8 System.IConvertible::ToSByte(class System.IFormatProvider)
            //IL_008f:  box        System.SByte
            //IL_0094:  ret

            //IL_0095:  ldarg.1                  
            //IL_0096:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_009b:  ldc.i4.6
            //IL_009c:  ldelem.ref
            //IL_009d:  bne.un.s   IL_00ac

            //IL_009f:  ldloc.0
            //IL_00a0:  ldarg.2
            //IL_00a1:  callvirt   instance uint8 System.IConvertible::ToByte(class System.IFormatProvider)
            //IL_00a6:  box        System.Byte
            //IL_00ab:  ret

            //IL_00ac:  ldarg.1             
            //IL_00ad:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_00b2:  ldc.i4.7
            //IL_00b3:  ldelem.ref
            //IL_00b4:  bne.un.s   IL_00c3

            //IL_00b6:  ldloc.0
            //IL_00b7:  ldarg.2
            //IL_00b8:  callvirt   instance int16 System.IConvertible::ToInt16(class System.IFormatProvider)
            //IL_00bd:  box        System.Int16
            //IL_00c2:  ret

            //IL_00c3:  ldarg.1                
            //IL_00c4:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_00c9:  ldc.i4.8
            //IL_00ca:  ldelem.ref
            //IL_00cb:  bne.un.s   IL_00da

            //IL_00cd:  ldloc.0
            //IL_00ce:  ldarg.2
            //IL_00cf:  callvirt   instance uint16 System.IConvertible::ToUInt16(class System.IFormatProvider)
            //IL_00d4:  box        System.UInt16
            //IL_00d9:  ret

            //IL_00da:  ldarg.1           
            //IL_00db:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_00e0:  ldc.i4.s   9
            //IL_00e2:  ldelem.ref
            //IL_00e3:  bne.un.s   IL_00f2

            //IL_00e5:  ldloc.0
            //IL_00e6:  ldarg.2
            //IL_00e7:  callvirt   instance int32 System.IConvertible::ToInt32(class System.IFormatProvider)
            //IL_00ec:  box        System.Int32
            //IL_00f1:  ret

            //IL_00f2:  ldarg.1          
            //IL_00f3:  ldsfld     class Syste.Type[] System.Convert::ConvertTypes
            //IL_00f8:  ldc.i4.s   10
            //IL_00fa:  ldelem.ref
            //IL_00fb:  bne.un.s   IL_010a

            //IL_00fd:  ldloc.0
            //IL_00fe:  ldarg.2
            //IL_00ff:  callvirt   instance uint32 System.IConvertible::ToUInt32(class System.IFormatProvider)
            //IL_0104:  box        System.UInt32
            //IL_0109:  ret

            //IL_010a:  ldarg.1             
            //IL_010b:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0110:  ldc.i4.s   11
            //IL_0112:  ldelem.ref
            //IL_0113:  bne.un.s   IL_0122

            //IL_0115:  ldloc.0
            //IL_0116:  ldarg.2
            //IL_0117:  callvirt   instance int64 System.IConvertible::ToInt64(class System.IFormatProvider)
            //IL_011c:  box        System.Int64
            //IL_0121:  ret

            //IL_0122:  ldarg.1              
            //IL_0123:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0128:  ldc.i4.s   12
            //IL_012a:  ldelem.ref
            //IL_012b:  bne.un.s   IL_013a

            //IL_012d:  ldloc.0
            //IL_012e:  ldarg.2
            //IL_012f:  callvirt   instance uint64 System.IConvertible::ToUInt64(class System.IFormatProvider)
            //IL_0134:  box        System.UInt64
            //IL_0139:  ret

            //IL_013a:  ldarg.1         
            //IL_013b:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0140:  ldc.i4.s   13
            //IL_0142:  ldelem.ref
            //IL_0143:  bne.un.s   IL_0152

            //IL_0145:  ldloc.0
            //IL_0146:  ldarg.2
            //IL_0147:  callvirt   instance float32 System.IConvertible::ToSingle(class System.IFormatProvider)
            //IL_014c:  box        System.Single
            //IL_0151:  ret

            //IL_0152:  ldarg.1             
            //IL_0153:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0158:  ldc.i4.s   14
            //IL_015a:  ldelem.ref
            //IL_015b:  bne.un.s   IL_016a

            //IL_015d:  ldloc.0
            //IL_015e:  ldarg.2
            //IL_015f:  callvirt   instance float64 System.IConvertible::ToDouble(class System.IFormatProvider)
            //IL_0164:  box        System.Double
            //IL_0169:  ret

            //IL_016a:  ldarg.1            
            //IL_016b:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0170:  ldc.i4.s   15
            //IL_0172:  ldelem.ref
            //IL_0173:  bne.un.s   IL_0182

            //IL_0175:  ldloc.0
            //IL_0176:  ldarg.2
            //IL_0177:  callvirt   instance valuetype System.Decimal System.IConvertible::ToDecimal(class System.IFormatProvider)
            //IL_017c:  box        System.Decimal
            //IL_0181:  ret

            //IL_0182:  ldarg.1                 
            //IL_0183:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_0188:  ldc.i4.s   16
            //IL_018a:  ldelem.ref
            //IL_018b:  bne.un.s   IL_019a

            //IL_018d:  ldloc.0
            //IL_018e:  ldarg.2
            //IL_018f:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_0194:  box        System.DateTime
            //IL_0199:  ret

            //IL_019a:  ldarg.1                
            //IL_019b:  ldsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_01a0:  ldc.i4.s   18
            //IL_01a2:  ldelem.ref
            //IL_01a3:  bne.un.s   IL_01ad

            //IL_01a5:  ldloc.0
            //IL_01a6:  ldarg.2
            //IL_01a7:  callvirt   instance string System.IConvertible::ToString(class System.IFormatProvider)
            //IL_01ac:  ret

            //IL_01ad:  ldarg.1          
            //IL_01ae:  ldsfld     class System.Type[] Syste.Convert::ConvertTypes
            //IL_01b3:  ldc.i4.1
            //IL_01b4:  ldelem.ref
            //IL_01b5:  bne.un.s   IL_01b9

            //IL_01b7:  ldarg.0
            //IL_01b8:  ret

            //IL_01b9:  ldloc.0
            //IL_01ba:  ldarg.1
            //IL_01bb:  ldarg.2
            //IL_01bc:  callvirt   instance object System.IConvertible::ToType(class System.Type,
            //                                                                 class System.IFormatProvider)
            //IL_01c1:  ret
            #endregion
            System.IConvertible V_0;
            if (conversionType == null)
            {
                throw new System.ArgumentNullException("conversionType");
            }
            else
            {
                //IL_000e
                if (@value == null)
                {
                    if (conversionType.IsValueType)
                    {
                        throw new System.InvalidCastException(System.Environment.GetResourceString("InvalidCast_CannotCastNullToValueType"));
                    }
                    else
                    {
                        return null;
                    }
                }
                else
                {
                    //IL_002b
                    V_0 = @value as System.IConvertible;
                    if (V_0 == null)
                    {
                        if (@value.GetType() == conversionType)
                        {
                            return @value;
                        }
                        else
                        {
                            throw new System.InvalidCastException("InvalidCast_IConvertible");
                        }
                    }
                    else if (conversionType == Convert.ConvertTypes[3])
                    {
                        return (object)V_0.ToBoolean(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[4])
                    {
                        return (object)V_0.ToChar(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[5])
                    {
                        return (object)V_0.ToSByte(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[6])
                    {
                        return (object)V_0.ToByte(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[7])
                    {
                        return (object)V_0.ToInt16(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[8])
                    {
                        return (object)V_0.ToUInt16(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[9])
                    {
                        return (object)V_0.ToInt32(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[10])
                    {
                        return (object)V_0.ToUInt32(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[11])
                    {
                        return (object)V_0.ToInt64(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[12])
                    {
                        return (object)V_0.ToUInt64(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[13])
                    {
                        return (object)V_0.ToSingle(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[14])
                    {
                        return (object)V_0.ToDouble(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[15])
                    {
                       return (object)V_0.ToDecimal(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[16])
                    {
                        return (object)V_0.ToDateTime(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[18])
                    {
                        return V_0.ToString(provider);
                    }
                    else if (conversionType == Convert.ConvertTypes[1])
                    {
                        return @value;
                    }
                    else
                    {
                        return V_0.ToType(conversionType, provider);
                    }
                }
            }

        }

        public static bool ToBoolean(object @value)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldnull
            //IL_000a:  callvirt   instance bool System.IConvertible::ToBoolean(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return false;
            }
            else
            {
                return ((System.IConvertible)@value).ToBoolean(null);
            }
        }

        public static bool ToBoolean(object @value, System.IFormatProvider provider)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldarg.1
            //IL_000a:  callvirt   instance bool System.IConvertible::ToBoolean(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return false;
            }
            else
            {
                return ((System.IConvertible)@value).ToBoolean(provider);
            }
        }

        public static bool ToBoolean(bool @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }

        [System.CLSCompliant(false)]
        public static bool ToBoolean(sbyte @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  ceq
            //IL_0004:  ldc.i4.0
            //IL_0005:  ceq
            //IL_0007:  ret
            return ((@value == 0) == false);
        }

        public static bool ToBoolean(char @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Char
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance bool System.IConvertible::ToBoolean(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToBoolean(null);
        }

        public static bool ToBoolean(byte @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  ceq
            //IL_0004:  ldc.i4.0
            //IL_0005:  ceq
            //IL_0007:  ret
        }

        public static bool ToBoolean(short @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  ceq
            //IL_0004:  ldc.i4.0
            //IL_0005:  ceq
            //IL_0007:  ret
            return (@value == 0) == false;
        }

        [System.CLSCompliant(false)]
        public static bool ToBoolean(ushort @value)
        {

            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  ceq
            //IL_0004:  ldc.i4.0
            //IL_0005:  ceq
            //IL_0007:  ret
            return (@value == 0) == false;
        }

        public static bool ToBoolean(int @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  ceq
            //IL_0004:  ldc.i4.0
            //IL_0005:  ceq
            //IL_0007:  ret
            return (@value == 0) == false;
        }

        [System.CLSCompliant(false)]
        public static bool ToBoolean(uint @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  ceq
            //IL_0004:  ldc.i4.0
            //IL_0005:  ceq
            //IL_0007:  ret
            return (@value == 0) == false;
        }
        public static bool ToBoolean(long @value)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  conv.i8
            //IL_0003:  ceq
            //IL_0005:  ldc.i4.0
            //IL_0006:  ceq
            //IL_0008:  ret
            return (@value == 0L) == false;
        }

        [System.CLSCompliant(false)]
        public static bool ToBoolean(ulong @value)
        {

            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  conv.i8
            //IL_0003:  ceq
            //IL_0005:  ldc.i4.0
            //IL_0006:  ceq
            //IL_0008:  ret
            return (@value == 0UL) == false;
        }

        public static bool ToBoolean(string @value)
        {
            // 代码大小       12 (0xc)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldarg.0
            //IL_0006:  call       bool System.Boolean::Parse(string)
            //IL_000b:  ret
            if (@value == null)
            {
                return false;
            }
            else
            {
                return System.Boolean.Parse(@value);
            }
        }

        public static bool ToBoolean(string @value, System.IFormatProvider provider)
        {
            // 代码大小       12 (0xc)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldarg.0
            //IL_0006:  call       bool System.Boolean::Parse(string)
            //IL_000b:  ret
            if (@value == null)
            {
                return false;
            }
            else
            {
                return System.Boolean.Parse(@value);
            }
        }

        public static bool ToBoolean(float @value)
        {
            // 代码大小       12 (0xc)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.r4     0.0
            //IL_0006:  ceq
            //IL_0008:  ldc.i4.0
            //IL_0009:  ceq
            //IL_000b:  ret
            return (@value == 0.0f) == false;
        }

        public static bool ToBoolean(double @value)
        {
            // 代码大小       16 (0x10)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.r8     0.0
            //IL_000a:  ceq
            //IL_000c:  ldc.i4.0
            //IL_000d:  ceq
            //IL_000f:  ret
            return (@value == 0.0) == false;
        }

        public static bool ToBoolean(System.Decimal @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  newobj     instance void System.Decimal::.ctor(int32)
            //IL_0007:  call       bool System.Decimal::op_Inequality(valuetype System.Decimal,
            //                                                        valuetype System.Decimal)
            //IL_000c:  ret
            return decimal.op_Inequality(@value, new decimal(0));
        }

        public static bool ToBoolean(System.DateTime @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.DateTime
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance bool System.IConvertible::ToBoolean(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToBoolean(null);
        }

        public static char ToChar(object @value)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldnull
            //IL_000a:  callvirt   instance char System.IConvertible::ToChar(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return '\0';
            }
            else
            {
                return ((System.IConvertible)@value).ToChar(null);
            }
        }

        public static char ToChar(object @value, System.IFormatProvider provider)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldarg.1
            //IL_000a:  callvirt   instance char System.IConvertible::ToChar(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return '\0';
            }
            else
            {
                return ((System.IConvertible)@value).ToChar(provider);
            }
        }

        public static char ToChar(bool @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Boolean
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance char System.IConvertible::ToChar(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToChar(null);
        }

        public static char ToChar(char @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static char ToChar(sbyte @value)
        {
            // 代码大小       23 (0x17)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  bge.s      IL_0014

            //IL_0004:  ldstr      "Overflow_Char"
            //IL_0009:  call       string System.Environment::GetResourceString(string)
            //IL_000e:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0013:  throw

            //IL_0014:  ldarg.0
            //IL_0015:  conv.u2
            //IL_0016:  ret
            if (@value >= 0)
            {
                return (char)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Char"));
            }

        }

        public static char ToChar(byte @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return (char)@value;
        }

        public static char ToChar(short @value)
        {
            // 代码大小       23 (0x17)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  bge.s      IL_0014

            //IL_0004:  ldstr      "Overflow_Char"
            //IL_0009:  call       string System.Environment::GetResourceString(string)
            //IL_000e:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0013:  throw

            //IL_0014:  ldarg.0
            //IL_0015:  conv.u2
            //IL_0016:  ret
            if (@value >= 0)
            {
                return (char)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Char"));
            }
        }
        [System.CLSCompliant(false)]
        public static char ToChar(ushort @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return (char)@value;
        }

        public static char ToChar(int @value)
        {
            // 代码大小       31 (0x1f)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  blt.s      IL_000c

            //IL_0004:  ldarg.0
            //IL_0005:  ldc.i4     0xffff
            //IL_000a:  ble.s      IL_001c

            //IL_000c:  ldstr      "Overflow_Char"
            //IL_0011:  call       string System.Environment::GetResourceString(string)
            //IL_0016:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_001b:  throw

            //IL_001c:  ldarg.0
            //IL_001d:  conv.u2
            //IL_001e:  ret

            if (@value >= 0 && @value <= 0xffff)
            {
                return (char)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Char"));
            }
        }
        [System.CLSCompliant(false)]
        public static char ToChar(uint @value)
        {
            // 代码大小       27 (0x1b)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0xffff
            //IL_0006:  ble.un.s   IL_0018

            //IL_0008:  ldstr      "Overflow_Char"
            //IL_000d:  call       string System.Environment::GetResourceString(string)
            //IL_0012:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0017:  throw

            //IL_0018:  ldarg.0
            //IL_0019:  conv.u2
            //IL_001a:  ret
            if (@value <= 0xffff)
            {
                return (char)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Char"));
            }
        }

        public static char ToChar(long @value)
        {
            // 代码大小       33 (0x21)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  conv.i8
            //IL_0003:  blt.s      IL_000e

            //IL_0005:  ldarg.0
            //IL_0006:  ldc.i4     0xffff
            //IL_000b:  conv.i8
            //IL_000c:  ble.s      IL_001e

            //IL_000e:  ldstr      "Overflow_Char"
            //IL_0013:  call       string System.Environment::GetResourceString(string)
            //IL_0018:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_001d:  throw

            //IL_001e:  ldarg.0
            //IL_001f:  conv.u2
            //IL_0020:  ret
            if (@value >= 0L && @value <= 0xffffL)
            {
                return (char)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Char"));
            }
        }
        [System.CLSCompliant(false)]
        public static char ToChar(ulong @value)
        {
            // 代码大小       28 (0x1c)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0xffff
            //IL_0006:  conv.i8
            //IL_0007:  ble.un.s   IL_0019

            //IL_0009:  ldstr      "Overflow_Char"
            //IL_000e:  call       string System.Environment::GetResourceString(string)
            //IL_0013:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0018:  throw

            //IL_0019:  ldarg.0
            //IL_001a:  conv.u2
            //IL_001b:  ret
            if (@value <= 0xfffful)
            {
                return (char)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Char"));
            }
        }

        public static char ToChar(string @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldnull
            //IL_0002:  call       char System.Convert::ToChar(string,
            //                                                 class System.IFormatProvider)
            //IL_0007:  ret
            return Convert.ToChar(@value, null);
        }

        public static char ToChar(string @value, System.IFormatProvider provider)
        {
            // 代码大小       47 (0x2f)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_000e

            //IL_0003:  ldstr      "value"
            //IL_0008:  newobj     instance void System.ArgumentNullException::.ctor(string)
            //IL_000d:  throw

            //IL_000e:  ldarg.0
            //IL_000f:  callvirt   instance int32 System.String::get_Length()
            //IL_0014:  ldc.i4.1
            //IL_0015:  beq.s      IL_0027

            //IL_0017:  ldstr      "Format_NeedSingleChar"
            //IL_001c:  call       string System.Environment::GetResourceString(string)
            //IL_0021:  newobj     instance void System.FormatException::.ctor(string)
            //IL_0026:  throw

            //IL_0027:  ldarg.0
            //IL_0028:  ldc.i4.0
            //IL_0029:  callvirt   instance char System.String::get_Chars(int32)
            //IL_002e:  ret
            if (@value == null)
            {
                throw new System.ArgumentNullException("value");
            }
            else
            {
                if (@value.Length == 1)
                {
                    return @value[0];
                }
                else
                {
                    throw new System.FormatException(System.Environment.GetResourceString("Format_NeedSingleChar"));
                }
            }
        }

        public static char ToChar(float @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Single
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance char System.IConvertible::ToChar(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToChar(null);
        }

        public static char ToChar(double @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Double
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance char System.IConvertible::ToChar(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToChar(null);
        }

        public static char ToChar(System.Decimal @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Decimal
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance char System.IConvertible::ToChar(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToChar(null);
        }

        public static char ToChar(System.DateTime @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.DateTime
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance char System.IConvertible::ToChar(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToChar(null);
        }

        [System.CLSCompliant(false)]
        public static sbyte ToSByte(object @value)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldnull
            //IL_000a:  callvirt   instance int8 System.IConvertible::ToSByte(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return (sbyte)0;
            }
            else
            {
                return ((System.IConvertible)@value).ToSByte(null);
            }
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(object @value, System.IFormatProvider provider)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldarg.1
            //IL_000a:  callvirt   instance int8 System.IConvertible::ToSByte(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return (sbyte)0;
            }
            else
            {
                return ((System.IConvertible)@value).ToSByte(provider);
            }
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(bool @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldc.i4.1
            //IL_0006:  ret
            if (@value)
            {
                return (sbyte)1;
            }
            else
            {
                return (sbyte)0;
            }
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(sbyte @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(char @value)
        {
            // 代码大小       24 (0x18)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.s   127
            //IL_0003:  ble.s      IL_0015

            //IL_0005:  ldstr      "Overflow_SByte"
            //IL_000a:  call       string System.Environment::GetResourceString(string)
            //IL_000f:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0014:  throw

            //IL_0015:  ldarg.0
            //IL_0016:  conv.i1
            //IL_0017:  ret
            if (@value <= 127)
            {
                return (sbyte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_SByte"));
            }
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(byte @value)
        {
            // 代码大小       24 (0x18)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.s   127
            //IL_0003:  ble.s      IL_0015

            //IL_0005:  ldstr      "Overflow_SByte"
            //IL_000a:  call       string System.Environment::GetResourceString(string)
            //IL_000f:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0014:  throw

            //IL_0015:  ldarg.0
            //IL_0016:  conv.i1
            //IL_0017:  ret
            if (@value <= 127)
            {
                return (sbyte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_SByte"));
            }
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(short @value)
        {
            // 代码大小       29 (0x1d)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.s   -128
            //IL_0003:  blt.s      IL_000a

            //IL_0005:  ldarg.0
            //IL_0006:  ldc.i4.s   127
            //IL_0008:  ble.s      IL_001a

            //IL_000a:  ldstr      "Overflow_SByte"
            //IL_000f:  call       string System.Environment::GetResourceString(string)
            //IL_0014:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0019:  throw

            //IL_001a:  ldarg.0
            //IL_001b:  conv.i1
            //IL_001c:  ret
            if (@value >= -128 && @value <= 127)
            {
                return (sbyte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_SByte"));
            }
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(ushort @value)
        {
            // 代码大小       24 (0x18)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.s   127
            //IL_0003:  ble.s      IL_0015

            //IL_0005:  ldstr      "Overflow_SByte"
            //IL_000a:  call       string System.Environment::GetResourceString(string)
            //IL_000f:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0014:  throw

            //IL_0015:  ldarg.0
            //IL_0016:  conv.i1
            //IL_0017:  ret
            if (@value <= 127)
            {
                return (sbyte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_SByte"));
            }
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(int @value)
        {
            // 代码大小       29 (0x1d)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.s   -128
            //IL_0003:  blt.s      IL_000a

            //IL_0005:  ldarg.0
            //IL_0006:  ldc.i4.s   127
            //IL_0008:  ble.s      IL_001a

            //IL_000a:  ldstr      "Overflow_SByte"
            //IL_000f:  call       string System.Environment::GetResourceString(string)
            //IL_0014:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0019:  throw

            //IL_001a:  ldarg.0
            //IL_001b:  conv.i1
            //IL_001c:  ret
            if (@value >= -128 && @value <= 127)
            {
                return (sbyte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_SByte"));
            }
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(uint @value)
        {
            // 代码大小       26 (0x1a)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.u8
            //IL_0002:  ldc.i4.s   127
            //IL_0004:  conv.i8
            //IL_0005:  ble.s      IL_0017

            //IL_0007:  ldstr      "Overflow_SByte"
            //IL_000c:  call       string System.Environment::GetResourceString(string)
            //IL_0011:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0016:  throw

            //IL_0017:  ldarg.0
            //IL_0018:  conv.i1
            //IL_0019:  ret
            if (@value <= 127)
            {
                return (sbyte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_SByte"));
            }
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(long @value)
        {
            // 代码大小       31 (0x1f)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.s   -128
            //IL_0003:  conv.i8
            //IL_0004:  blt.s      IL_000c

            //IL_0006:  ldarg.0
            //IL_0007:  ldc.i4.s   127
            //IL_0009:  conv.i8
            //IL_000a:  ble.s      IL_001c

            //IL_000c:  ldstr      "Overflow_SByte"
            //IL_0011:  call       string System.Environment::GetResourceString(string)
            //IL_0016:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_001b:  throw

            //IL_001c:  ldarg.0
            //IL_001d:  conv.i1
            //IL_001e:  ret
            if (@value >= -128L && @value <= 127L)
            {
                return (sbyte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_SByte"));
            }
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(ulong @value)
        {
            // 代码大小       25 (0x19)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.s   127
            //IL_0003:  conv.i8
            //IL_0004:  ble.un.s   IL_0016

            //IL_0006:  ldstr      "Overflow_SByte"
            //IL_000b:  call       string System.Environment::GetResourceString(string)
            //IL_0010:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0015:  throw

            //IL_0016:  ldarg.0
            //IL_0017:  conv.i1
            //IL_0018:  ret
            if (@value <= 127L)
            {
                return (sbyte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_SByte"));
            }
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(float @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  call       int8 System.Convert::ToSByte(float64)
            //IL_0007:  ret
            return Convert.ToSByte((double)@value);
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(double @value)
        {
            // 代码大小       12 (0xc)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       int32 System.Convert::ToInt32(float64)
            //IL_0006:  call       int8 System.Convert::ToSByte(int32)
            //IL_000b:  ret
            return Convert.ToSByte(Convert.ToInt32(@value));
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(System.Decimal @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  call       valuetype System.Decimal System.Decimal::Round(valuetype System.Decimal,
            //                                                                    int32)
            //IL_0007:  call       int8 System.Decimal::ToSByte(valuetype System.Decimal)
            //IL_000c:  ret
            return Decimal.ToSByte(Decimal.Round(@value,0));
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(string @value)
        {
            // 代码大小       17 (0x11)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldarg.0
            //IL_0006:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_000b:  call       int8 System.SByte::Parse(string,
            //                                              class System.IFormatProvider)
            //IL_0010:  ret
            if (@value == null)
            {
                return (sbyte)0;
            }
            else
            {
                return System.SByte.Parse(@value, CultureInfo.CurrentCulture);
            }
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(string @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.7
            //IL_0002:  ldarg.1
            //IL_0003:  call       int8 System.SByte::Parse(string,
            //                                              valuetype System.Globalization.NumberStyles,
            //                                              class System.IFormatProvider)
            //IL_0008:  ret
            return System.SByte.Parse(@value, NumberStyles.Integer, provider);
        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(System.DateTime @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.DateTime
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance int8 System.IConvertible::ToSByte(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToSByte(null);
        }

        public static byte ToByte(object @value)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldnull
            //IL_000a:  callvirt   instance uint8 System.IConvertible::ToByte(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return (byte)0;
            }
            else
            {
                return ((System.IConvertible)@value).ToByte(null);
            }
        }

        public static byte ToByte(object @value, System.IFormatProvider provider)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldarg.1
            //IL_000a:  callvirt   instance uint8 System.IConvertible::ToByte(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return (byte)0;
            }
            else
            {
                return ((System.IConvertible)@value).ToByte(provider);
            }
        }

        public static byte ToByte(bool @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldc.i4.1
            //IL_0006:  ret
            if (@value)
            {
                return (byte)1;
            }
            else
            {
                return (byte)0;
            }
        }

        public static byte ToByte(byte @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }

        public static byte ToByte(char @value)
        {
            // 代码大小       27 (0x1b)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0xff
            //IL_0006:  ble.s      IL_0018

            //IL_0008:  ldstr      "Overflow_Byte"
            //IL_000d:  call       string System.Environment::GetResourceString(string)
            //IL_0012:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0017:  throw

            //IL_0018:  ldarg.0
            //IL_0019:  conv.u1
            //IL_001a:  ret
            if (@value <= 0xff)
            {
                return (byte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Byte"));
            }
        }
        [System.CLSCompliant(false)]
        public static byte ToByte(sbyte @value)
        {
            // 代码大小       23 (0x17)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  bge.s      IL_0014

            //IL_0004:  ldstr      "Overflow_Byte"
            //IL_0009:  call       string System.Environment::GetResourceString(string)
            //IL_000e:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0013:  throw

            //IL_0014:  ldarg.0
            //IL_0015:  conv.u1
            //IL_0016:  ret
            if (@value >= 0)
            {
                return (byte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Byte"));
            }
        }

        public static byte ToByte(short @value)
        {
            // 代码大小       31 (0x1f)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  blt.s      IL_000c

            //IL_0004:  ldarg.0
            //IL_0005:  ldc.i4     0xff
            //IL_000a:  ble.s      IL_001c

            //IL_000c:  ldstr      "Overflow_Byte"
            //IL_0011:  call       string System.Environment::GetResourceString(string)
            //IL_0016:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_001b:  throw

            //IL_001c:  ldarg.0
            //IL_001d:  conv.u1
            //IL_001e:  ret
            if (@value >= 0 && @value <= 0xff)
            {
                return (byte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Byte"));
            }
        }
        [System.CLSCompliant(false)]
        public static byte ToByte(ushort @value)
        {
            // 代码大小       27 (0x1b)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0xff
            //IL_0006:  ble.s      IL_0018

            //IL_0008:  ldstr      "Overflow_Byte"
            //IL_000d:  call       string System.Environment::GetResourceString(string)
            //IL_0012:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0017:  throw

            //IL_0018:  ldarg.0
            //IL_0019:  conv.u1
            //IL_001a:  ret
            if (@vlaue <= 0xff)
            {
                return (byte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Byte"));
            }
        }

        public static byte ToByte(int @value)
        {
            // 代码大小       31 (0x1f)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  blt.s      IL_000c

            //IL_0004:  ldarg.0
            //IL_0005:  ldc.i4     0xff
            //IL_000a:  ble.s      IL_001c

            //IL_000c:  ldstr      "Overflow_Byte"
            //IL_0011:  call       string System.Environment::GetResourceString(string)
            //IL_0016:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_001b:  throw

            //IL_001c:  ldarg.0
            //IL_001d:  conv.u1
            //IL_001e:  ret
            if (@value >= 0 && @value <= 0xff)
            {
                return (byte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Byte"));
            }


        }
        [System.CLSCompliant(false)]
        public static byte ToByte(uint @value)
        {
            // 代码大小       27 (0x1b)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0xff
            //IL_0006:  ble.un.s   IL_0018

            //IL_0008:  ldstr      "Overflow_Byte"
            //IL_000d:  call       string System.Environment::GetResourceString(string)
            //IL_0012:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0017:  throw

            //IL_0018:  ldarg.0
            //IL_0019:  conv.u1
            //IL_001a:  ret
            if (@value <= 0xff)
            {
                return (byte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Byte"));
            }
        }

        public static byte ToByte(long @value)
        {
            // 代码大小       33 (0x21)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  conv.i8
            //IL_0003:  blt.s      IL_000e

            //IL_0005:  ldarg.0
            //IL_0006:  ldc.i4     0xff
            //IL_000b:  conv.i8
            //IL_000c:  ble.s      IL_001e

            //IL_000e:  ldstr      "Overflow_Byte"
            //IL_0013:  call       string System.Environment::GetResourceString(string)
            //IL_0018:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_001d:  throw

            //IL_001e:  ldarg.0
            //IL_001f:  conv.u1
            //IL_0020:  ret
            if (@value >= 0L && @value <= 0xffL)
            {
                return (byte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Byte"));
            }
        }
        [System.CLSCompliant(false)]
        public static byte ToByte(ulong @value)
        {
            // 代码大小       28 (0x1c)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0xff
            //IL_0006:  conv.i8
            //IL_0007:  ble.un.s   IL_0019

            //IL_0009:  ldstr      "Overflow_Byte"
            //IL_000e:  call       string System.Environment::GetResourceString(string)
            //IL_0013:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0018:  throw

            //IL_0019:  ldarg.0
            //IL_001a:  conv.u1
            //IL_001b:  ret
            if (@value <= 0xfful)
            {
                return (byte)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Byte"));
            }
        }

        public static byte ToByte(float @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  call       uint8 System.Convert::ToByte(float64)
            //IL_0007:  ret
            return Convert.ToSByte((double)@value);
        }

        public static byte ToByte(double @value)
        {
            // 代码大小       12 (0xc)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       int32 System.Convert::ToInt32(float64)
            //IL_0006:  call       uint8 System.Convert::ToByte(int32)
            //IL_000b:  ret
            return Convert.ToByte(Convert.ToInt32(@value));
        }

        public static byte ToByte(System.Decimal @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  call       valuetype System.Decimal System.Decimal::Round(valuetype System.Decimal,
            //                                                                    int32)
            //IL_0007:  call       uint8 System.Decimal::ToByte(valuetype System.Decimal)
            //IL_000c:  ret
            return Decimal.ToByte(Decimal.Round(@value, 0));
        }

        public static byte ToByte(string @value)
        {
            // 代码大小       17 (0x11)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldarg.0
            //IL_0006:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_000b:  call       uint8 System.Byte::Parse(string,
            //                                              class System.IFormatProvider)
            //IL_0010:  ret
            if (@value == null)
            {
                return (byte)0;
            }
            else
            {
                return Byte.Parse(@value, CultureInfo.CurrentCulture);
            }
        }

        public static byte ToByte(string @value, System.IFormatProvider provider)
        {
            // 代码大小       14 (0xe)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldarg.0
            //IL_0006:  ldc.i4.7
            //IL_0007:  ldarg.1
            //IL_0008:  call       uint8 System.Byte::Parse(string,
            //                                              valuetype System.Globalization.NumberStyles,
            //                                              class System.IFormatProvider)
            //IL_000d:  ret

            if (@value == null)
            {
                return (byte)0;
            }
            else
            {
                return Byte.Parse(@value, NumberStyles.Integer, provider);
            }
        }

        public static byte ToByte(System.DateTime @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.DateTime
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance uint8 System.IConvertible::ToByte(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToByte(null);
        }

        public static short ToInt16(object @value)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldnull
            //IL_000a:  callvirt   instance int16 System.IConvertible::ToInt16(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return (short)0;
            }
            else
            {
                return ((System.IConvertible)@value).ToInt16(null);
            }

        }

        public static short ToInt16(object @value, System.IFormatProvider provider)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldarg.1
            //IL_000a:  callvirt   instance int16 System.IConvertible::ToInt16(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return (short)0;
            }
            else
            {
                return ((System.IConvertible)@value).ToInt16(provider);
            }

        }

        public static short ToInt16(bool @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldc.i4.1
            //IL_0006:  ret
            if (@value)
            {
                return (short)1;
            }
            else
            {
                return (short)0;
            }
        }

        public static short ToInt16(char @value)
        {
            // 代码大小       27 (0x1b)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0x7fff
            //IL_0006:  ble.s      IL_0018

            //IL_0008:  ldstr      "Overflow_Int16"
            //IL_000d:  call       string System.Environment::GetResourceString(string)
            //IL_0012:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0017:  throw

            //IL_0018:  ldarg.0
            //IL_0019:  conv.i2
            //IL_001a:  ret
            if (@value <= 0x7fff)
            {
                return (short)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int16"));
            }
        }
        [System.CLSCompliant(false)]
        public static short ToInt16(sbyte @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }

        public static short ToInt16(byte @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static short ToInt16(ushort @value)
        {
            // 代码大小       27 (0x1b)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0x7fff
            //IL_0006:  ble.s      IL_0018

            //IL_0008:  ldstr      "Overflow_Int16"
            //IL_000d:  call       string System.Environment::GetResourceString(string)
            //IL_0012:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0017:  throw

            //IL_0018:  ldarg.0
            //IL_0019:  conv.i2
            //IL_001a:  ret
            if (@value <= 0x7fff)
            {
                return (short)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int16"));
            }
        }

        public static short ToInt16(int @value)
        {
            // 代码大小       35 (0x23)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0xffff8000
            //IL_0006:  blt.s      IL_0010

            //IL_0008:  ldarg.0
            //IL_0009:  ldc.i4     0x7fff
            //IL_000e:  ble.s      IL_0020

            //IL_0010:  ldstr      "Overflow_Int16"
            //IL_0015:  call       string System.Environment::GetResourceString(string)
            //IL_001a:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_001f:  throw

            //IL_0020:  ldarg.0
            //IL_0021:  conv.i2
            //IL_0022:  ret
            if (@value >= 0xffff8000 && @value <= 0x7fff)
            {
                return (short)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int16"));
            }
        }
        [System.CLSCompliant(false)]
        public static short ToInt16(uint @value)
        {
            // 代码大小       29 (0x1d)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.u8
            //IL_0002:  ldc.i4     0x7fff
            //IL_0007:  conv.i8
            //IL_0008:  ble.s      IL_001a

            //IL_000a:  ldstr      "Overflow_Int16"
            //IL_000f:  call       string System.Environment::GetResourceString(string)
            //IL_0014:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0019:  throw

            //IL_001a:  ldarg.0
            //IL_001b:  conv.i2
            //IL_001c:  ret
            if (@value <= 0x7fff)
            {
                return (short)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int16"));
            }
        }

        public static short ToInt16(short @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }

        public static short ToInt16(long @value)
        {
            // 代码大小       37 (0x25)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0xffff8000
            //IL_0006:  conv.i8
            //IL_0007:  blt.s      IL_0012

            //IL_0009:  ldarg.0
            //IL_000a:  ldc.i4     0x7fff
            //IL_000f:  conv.i8
            //IL_0010:  ble.s      IL_0022

            //IL_0012:  ldstr      "Overflow_Int16"
            //IL_0017:  call       string System.Environment::GetResourceString(string)
            //IL_001c:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0021:  throw

            //IL_0022:  ldarg.0
            //IL_0023:  conv.i2
            //IL_0024:  ret
            if (@value >= (long)(int)0xffff8000 && @value <= 0x7fff)
            {
                return (short)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int16"));
            }

        }
        [System.CLSCompliant(false)]
        public static short ToInt16(ulong @value)
        {
            // 代码大小       28 (0x1c)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0x7fff
            //IL_0006:  conv.i8
            //IL_0007:  ble.un.s   IL_0019

            //IL_0009:  ldstr      "Overflow_Int16"
            //IL_000e:  call       string System.Environment::GetResourceString(string)
            //IL_0013:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0018:  throw

            //IL_0019:  ldarg.0
            //IL_001a:  conv.i2
            //IL_001b:  ret
            if (@value <= 0x7fff)
            {
                return (short)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int16"));
            }
        }

        public static short ToInt16(float @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  call       int16 System.Convert::ToInt16(float64)
            //IL_0007:  ret
            return Convert.ToInt16((double)@value);
        }

        public static short ToInt16(double @value)
        {
            // 代码大小       12 (0xc)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       int32 System.Convert::ToInt32(float64)
            //IL_0006:  call       int16 System.Convert::ToInt16(int32)
            //IL_000b:  ret
            return Convert.ToInt16(Convert.ToInt32(@value));
        }

        public static short ToInt16(System.Decimal @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  call       valuetype System.Decimal System.Decimal::Round(valuetype System.Decimal,
            //                                                                    int32)
            //IL_0007:  call       int16 System.Decimal::ToInt16(valuetype System.Decimal)
            //IL_000c:  ret
            return Decimal.ToInt16(Decimal.Round(@value, 0));
        }

        public static short ToInt16(string @value)
        {
            // 代码大小       17 (0x11)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldarg.0
            //IL_0006:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_000b:  call       int16 System.Int16::Parse(string,
            //                                               class System.IFormatProvider)
            //IL_0010:  ret
            if (@value == null)
            {
                return (short)0;
            }
            else
            {
                return Int16.Parse(@value, CultureInfo.CurrentCulture);
            }
        }

        public static short ToInt16(string @value, System.IFormatProvider provider)
        {
            // 代码大小       14 (0xe)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldarg.0
            //IL_0006:  ldc.i4.7
            //IL_0007:  ldarg.1
            //IL_0008:  call       int16 System.Int16::Parse(string,
            //                                               valuetype System.Globalization.NumberStyles,
            //                                               class System.IFormatProvider)
            //IL_000d:  ret
            if (@value == null)
            {
                return (short)0;
            }
            else
            {
                return Int16.Parse(@value, NumberStyles.Integer, provider);
            }
        }

        public static short ToInt16(System.DateTime @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.DateTime
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance int16 System.IConvertible::ToInt16(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToInt16(null);
        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(object @value)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldnull
            //IL_000a:  callvirt   instance uint16 System.IConvertible::ToUInt16(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return (ushort)0;
            }
            else
            {
                return ((System.IConvertible)@value).ToUInt16(null);
            }

        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(object @value, System.IFormatProvider provider)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldarg.1
            //IL_000a:  callvirt   instance uint16 System.IConvertible::ToUInt16(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return (ushort)0; 
            }
            else
            {
                return ((System.IConvertible)@value).ToUInt16(provider);
            }

        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(bool @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldc.i4.1
            //IL_0006:  ret
            if (@value)
            {
                return (ushort)1;
            }
            else
            {
                return (ushort)0;
            }
        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(char @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return (ushort)@value;
        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(byte @value)
        {
            // 代码大小       23 (0x17)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  bge.s      IL_0014

            //IL_0004:  ldstr      "Overflow_UInt16"
            //IL_0009:  call       string System.Environment::GetResourceString(string)
            //IL_000e:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0013:  throw

            //IL_0014:  ldarg.0
            //IL_0015:  conv.u2
            //IL_0016:  ret
            if (@value >= 0)
            {
                return (ushort)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt16"));
            }

        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(byte @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(short @value)
        {
            // 代码大小       23 (0x17)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  bge.s      IL_0014

            //IL_0004:  ldstr      "Overflow_UInt16"
            //IL_0009:  call       string System.Environment::GetResourceString(string)
            //IL_000e:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0013:  throw

            //IL_0014:  ldarg.0
            //IL_0015:  conv.u2
            //IL_0016:  ret
            if (@value >= 0)
            {
                return (ushort)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt16"));
            }
        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(int @value)
        {
            // 代码大小       31 (0x1f)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  blt.s      IL_000c

            //IL_0004:  ldarg.0
            //IL_0005:  ldc.i4     0xffff
            //IL_000a:  ble.s      IL_001c

            //IL_000c:  ldstr      "Overflow_UInt16"
            //IL_0011:  call       string System.Environment::GetResourceString(string)
            //IL_0016:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_001b:  throw

            //IL_001c:  ldarg.0
            //IL_001d:  conv.u2
            //IL_001e:  ret
            if (@value >= 0 && @value <= 0xffff)
            {
                return (ushort)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt16")); 
            }
        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(ushort @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(uint @value)
        {
            // 代码大小       27 (0x1b)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0xffff
            //IL_0006:  ble.un.s   IL_0018

            //IL_0008:  ldstr      "Overflow_UInt16"
            //IL_000d:  call       string System.Environment::GetResourceString(string)
            //IL_0012:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0017:  throw

            //IL_0018:  ldarg.0
            //IL_0019:  conv.u2
            //IL_001a:  ret
            if (@value <= 0xffff)
            {
                return (ushort)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt16"));
            }
        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(long @value)
        {
            // 代码大小       33 (0x21)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  conv.i8
            //IL_0003:  blt.s      IL_000e

            //IL_0005:  ldarg.0
            //IL_0006:  ldc.i4     0xffff
            //IL_000b:  conv.i8
            //IL_000c:  ble.s      IL_001e

            //IL_000e:  ldstr      "Overflow_UInt16"
            //IL_0013:  call       string System.Environment::GetResourceString(string)
            //IL_0018:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_001d:  throw

            //IL_001e:  ldarg.0
            //IL_001f:  conv.u2
            //IL_0020:  ret
            if (@value >= 0 && @value <= 0xffff)
            {
                return (ushort)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt16")); 
            }

        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(ulong @value)
        {
            // 代码大小       28 (0x1c)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0xffff
            //IL_0006:  conv.i8
            //IL_0007:  ble.un.s   IL_0019

            //IL_0009:  ldstr      "Overflow_UInt16"
            //IL_000e:  call       string System.Environment::GetResourceString(string)
            //IL_0013:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0018:  throw

            //IL_0019:  ldarg.0
            //IL_001a:  conv.u2
            //IL_001b:  ret
            if (@value <= 0xffff)
            {
                return (ushort)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt16")); 
            }
        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(float @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  call       uint16 System.Convert::ToUInt16(float64)
            //IL_0007:  ret
            return Convert.ToUInt16((double)@value);
        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(double @value)
        {
            // 代码大小       12 (0xc)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       int32 System.Convert::ToInt32(float64)
            //IL_0006:  call       uint16 System.Convert::ToUInt16(int32)
            //IL_000b:  ret
            return Convert.ToUInt16(Convert.ToInt32(@value));
        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(System.Decimal @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  call       valuetype System.Decimal System.Decimal::Round(valuetype System.Decimal,
            //                                                                    int32)
            //IL_0007:  call       uint16 System.Decimal::ToUInt16(valuetype System.Decimal)
            //IL_000c:  ret
            return Decimal.ToUInt16(Decimal.Round(@value, 0));
        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(string @value)
        {
            // 代码大小       17 (0x11)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldarg.0
            //IL_0006:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_000b:  call       uint16 System.UInt16::Parse(string,
            //                                                 class System.IFormatProvider)
            //IL_0010:  ret
            if (@value == null)
            {
                return (ushort)0;
            }
            else
            {
                return UInt16.Parse(@value, CultureInfo.CurrentCulture);
            }
        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(string @value, System.IFormatProvider provider)
        {
            // 代码大小       14 (0xe)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldarg.0
            //IL_0006:  ldc.i4.7
            //IL_0007:  ldarg.1
            //IL_0008:  call       uint16 System.UInt16::Parse(string,
            //                                                 valuetype System.Globalization.NumberStyles,
            //                                                 class System.IFormatProvider)
            //IL_000d:  ret
            if (@value == null)
            {
                return (ushort)0;
            }
            else
            {
                return UInt16.Parse(@value, NumberStyles.Integer, provider);
            }
        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(System.DateTime @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.DateTime
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance uint16 System.IConvertible::ToUInt16(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToUInt16(null);
        }

        public static int ToInt32(object @value)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldnull
            //IL_000a:  callvirt   instance int32 System.IConvertible::ToInt32(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return 0;
            }
            else
            {
                return ((System.IConvertible)@value).ToInt32(null);
            }
        }

        public static int ToInt32(object @value, System.IFormatProvider provider)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldarg.1
            //IL_000a:  callvirt   instance int32 System.IConvertible::ToInt32(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return 0;
            }
            else
            {
                return ((System.IConvertible)@value).ToInt32(provider);
            }
        }

        public static int ToInt32(bool @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldc.i4.1
            //IL_0006:  ret
            if (@value)
            {
                return 1;
            }
            else
            {
                return 0;
            }
        }

        public static int ToInt32(char @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return (int)@value;
        }
        [System.CLSCompliant(false)]
        public static int ToInt32(sbyte @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }

        public static int ToInt32(byte @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }

        public static int ToInt32(short @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static int ToInt32(ushort @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static int ToInt32(uint @value)
        {
            // 代码大小       26 (0x1a)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0x7fffffff
            //IL_0006:  ble.un.s   IL_0018

            //IL_0008:  ldstr      "Overflow_Int32"
            //IL_000d:  call       string System.Environment::GetResourceString(string)
            //IL_0012:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0017:  throw

            //IL_0018:  ldarg.0
            //IL_0019:  ret
            if (@value <= 0x7fffffff)
            {
                return @value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int32"));
            }
        }

        public static int ToInt32(int @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }

        public static int ToInt32(long @value)
        {
            // 代码大小       37 (0x25)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0x80000000
            //IL_0006:  conv.i8
            //IL_0007:  blt.s      IL_0012

            //IL_0009:  ldarg.0
            //IL_000a:  ldc.i4     0x7fffffff
            //IL_000f:  conv.i8
            //IL_0010:  ble.s      IL_0022

            //IL_0012:  ldstr      "Overflow_Int32"
            //IL_0017:  call       string System.Environment::GetResourceString(string)
            //IL_001c:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0021:  throw

            //IL_0022:  ldarg.0
            //IL_0023:  conv.i4
            //IL_0024:  ret
            if (@value >= (long)(int)0x80000000 && @value <= 0x7fffffff)
            {
                return (int)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int32"));
            }
        }
        [System.CLSCompliant(false)]
        public static int ToInt32(ulong @value)
        {
            // 代码大小       28 (0x1c)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4     0x7fffffff
            //IL_0006:  conv.i8
            //IL_0007:  ble.un.s   IL_0019

            //IL_0009:  ldstr      "Overflow_Int32"
            //IL_000e:  call       string System.Environment::GetResourceString(string)
            //IL_0013:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0018:  throw

            //IL_0019:  ldarg.0
            //IL_001a:  conv.i4
            //IL_001b:  ret
            if (@value <= 0x7fffffff)
            {
                return (int)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int32"));
            }
        }

        public static int ToInt32(float @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  call       int32 System.Convert::ToInt32(float64)
            //IL_0007:  ret
            return Convert.ToInt32((double)@value);
        }

        public static int ToInt32(double @value)
        {
            // 代码大小       138 (0x8a)
            //.maxstack  2
            //.locals init (int32 V_0,                   
            //         float64 V_1,
            //         int32 V_2,
            //         float64 V_3)
            //IL_0000:  ldarg.0                        
            //IL_0001:  ldc.r8     0.0
            //IL_000a:  blt.un.s   IL_0043

            //IL_000c:  ldarg.0
            //IL_000d:  ldc.r8     2147483647.5
            //IL_0016:  bge.un.s   IL_007a

            //IL_0018:  ldarg.0            
            //IL_0019:  conv.i4
            //IL_001a:  stloc.0
            //IL_001b:  ldarg.0
            //IL_001c:  ldloc.0
            //IL_001d:  conv.r8
            //IL_001e:  sub
            //IL_001f:  stloc.1
            //IL_0020:  ldloc.1
            //IL_0021:  ldc.r8     0.5
            //IL_002a:  bgt.s      IL_003d

            //IL_002c:  ldloc.1                        
            //IL_002d:  ldc.r8     0.5
            //IL_0036:  bne.un.s   IL_0041

            //IL_0038:  ldloc.0                    
            //IL_0039:  ldc.i4.1
            //IL_003a:  and
            //IL_003b:  brfalse.s  IL_0041

            //IL_003d:  ldloc.0
            //IL_003e:  ldc.i4.1
            //IL_003f:  add
            //IL_0040:  stloc.0
            //IL_0041:  ldloc.0
            //IL_0042:  ret

            //IL_0043:  ldarg.0              
            //IL_0044:  ldc.r8     -2147483648.5
            //IL_004d:  blt.un.s   IL_007a

            //IL_004f:  ldarg.0                 
            //IL_0050:  conv.i4
            //IL_0051:  stloc.2
            //IL_0052:  ldarg.0
            //IL_0053:  ldloc.2
            //IL_0054:  conv.r8
            //IL_0055:  sub
            //IL_0056:  stloc.3
            //IL_0057:  ldloc.3
            //IL_0058:  ldc.r8     -0.5
            //IL_0061:  blt.s      IL_0074

            //IL_0063:  ldloc.3                     
            //IL_0064:  ldc.r8     -0.5
            //IL_006d:  bne.un.s   IL_0078

            //IL_006f:  ldloc.2             
            //IL_0070:  ldc.i4.1
            //IL_0071:  and
            //IL_0072:  brfalse.s  IL_0078

            //IL_0074:  ldloc.2      
            //IL_0075:  ldc.i4.1
            //IL_0076:  sub
            //IL_0077:  stloc.2
            //IL_0078:  ldloc.2
            //IL_0079:  ret

            //IL_007a:  ldstr      "Overflow_Int32"
            //IL_007f:  call       string System.Environment::GetResourceString(string)
            //IL_0084:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0089:  throw
            int V_0; 
            double V_1; 
            int V_2; 
            double V_3;
            if(@value<0.0D)
            {
                //IL_0043
                if(@value<-2147483648.5)
                {
                    //IL_007a
                    throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int32"));
                }
                else
                {
                    //IL_004f
                    V_2=(int)@value;
                    V_3=@value-V_2;
                    if(V_3<-0.5d)
                    {
                        //IL_0074
                        V_2 = V_2 - 1; 
                        return V_2;
                    }
                    else
                    {
                        //IL_0063
                        if(V_3==-0.5)
                        {
                            //IL_006f
                            if(V_2&1==0)
                            {
                                //IL_0078
                                return V_2;
                            }
                            else
                            {
                                //IL_0074
                                V_2 = V_2 - 1; 
                                return V_2;
                            }

                        }
                        else
                        {
                            //IL_0078
                           return V_2;
                        }
                    }
                }
            }
            else
            {
                if(@value>=2147483647.5D)
                {
                    //IL_007a
                    throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int32"));
                }
                else
                {
                    //IL_0018
                    V_0=(int)@value;
                    V_1=@value-V_0;
                    if(V_1>0.5d)
                    {
                        //IL_003d
                        V_0 = V_0 + 1;
                    }
                    else if (V_1 == 0.5d && (V_0 & 1 == 1))
                    {
                        //IL_003d
                        V_0 = V_0 + 1;
                    }
                    return V_0;
                }
            }

        }

        public static int ToInt32(System.Decimal @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       int32 System.Decimal::FCallToInt32(valuetype System.Decimal)
            //IL_0006:  ret
            return Decimal.FCallToInt32(@value);
        }

        public static int ToInt32(string @value)
        {
            // 代码大小       17 (0x11)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldarg.0
            //IL_0006:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_000b:  call       int32 System.Int32::Parse(string,
            //                                               class System.IFormatProvider)
            //IL_0010:  ret
            if (@value == null)
            {
                return 0;
            }
            else
            {
                return Int32.Parse(@value,CultureInfo.CurrentCulture);
            }
        }

        public static int ToInt32(string @value, System.IFormatProvider provider)
        {
            // 代码大小       14 (0xe)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldarg.0
            //IL_0006:  ldc.i4.7
            //IL_0007:  ldarg.1
            //IL_0008:  call       int32 System.Int32::Parse(string,
            //                                               valuetype System.Globalization.NumberStyles,
            //                                               class System.IFormatProvider)
            //IL_000d:  ret
            if (@value == null)
            {
                return 0;
            }
            else
            {
                return Int32.Parse(@value, NumberStyles.Integer, provider);
            }
        }

        public static int ToInt32(System.DateTime @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.DateTime
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance int32 System.IConvertible::ToInt32(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToInt32(null);
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(object @value)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldnull
            //IL_000a:  callvirt   instance uint32 System.IConvertible::ToUInt32(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return (uint)0;
            }
            else
            {
                return ((System.IConvertible)@value).ToUInt32(null);
            }
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(object @value, System.IFormatProvider provider)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldarg.1
            //IL_000a:  callvirt   instance uint32 System.IConvertible::ToUInt32(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  ret
            if (@value == null)
            {
                return (uint)0;
            }
            else
            {
                return ((System.IConvertible)@value).ToUInt32(provider);
            }
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(bool @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldc.i4.1
            //IL_0006:  ret
            if (@value)
            {
                return (uint)1;
            }
            else
            {
                return (uint)0;
            }
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(char @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(sbyte @value)
        {
            // 代码大小       22 (0x16)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  bge.s      IL_0014

            //IL_0004:  ldstr      "Overflow_UInt32"
            //IL_0009:  call       string System.Environment::GetResourceString(string)
            //IL_000e:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0013:  throw

            //IL_0014:  ldarg.0
            //IL_0015:  ret
            if (@value >= 0)
            {
                return @value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt32"));
            }
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(byte @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(short @value)
        {
            // 代码大小       22 (0x16)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  bge.s      IL_0014

            //IL_0004:  ldstr      "Overflow_UInt32"
            //IL_0009:  call       string System.Environment::GetResourceString(string)
            //IL_000e:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0013:  throw

            //IL_0014:  ldarg.0
            //IL_0015:  ret
            if (@value >= 0)
            {
                return @value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt32"));
            }
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(ushort @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(int @value)
        {
            // 代码大小       22 (0x16)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  bge.s      IL_0014

            //IL_0004:  ldstr      "Overflow_UInt32"
            //IL_0009:  call       string System.Environment::GetResourceString(string)
            //IL_000e:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0013:  throw

            //IL_0014:  ldarg.0
            //IL_0015:  ret
            if (@value >= 0)
            {
                return @value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt32"));
            }
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(uint @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(long @value)
        {
            // 代码大小       29 (0x1d)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  conv.i8
            //IL_0003:  blt.s      IL_000a

            //IL_0005:  ldarg.0
            //IL_0006:  ldc.i4.m1
            //IL_0007:  conv.u8
            //IL_0008:  ble.s      IL_001a

            //IL_000a:  ldstr      "Overflow_UInt32"
            //IL_000f:  call       string System.Environment::GetResourceString(string)
            //IL_0014:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0019:  throw

            //IL_001a:  ldarg.0
            //IL_001b:  conv.u4
            //IL_001c:  ret
            if (@value >= 0 && @value <= 0xffffffff)
            {
                return (uint)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt32"));
            }
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(ulong @value)
        {
            // 代码大小       24 (0x18)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.m1
            //IL_0002:  conv.u8
            //IL_0003:  ble.un.s   IL_0015

            //IL_0005:  ldstr      "Overflow_UInt32"
            //IL_000a:  call       string System.Environment::GetResourceString(string)
            //IL_000f:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0014:  throw

            //IL_0015:  ldarg.0
            //IL_0016:  conv.u4
            //IL_0017:  ret
            if (@value <= 0xfffffffful)
            {
                return (uint)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt32"));
            }
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(float @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  call       uint32 System.Convert::ToUInt32(float64)
            //IL_0007:  ret
            return System.Convert.ToUInt32((double)@value);
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(double @value)
        {
            // 代码大小       84 (0x54)
            //.maxstack  2
            //.locals init (uint32 V_0,               
            //         float64 V_1)
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.r8     -0.5
            //IL_000a:  blt.un.s   IL_0044

            //IL_000c:  ldarg.0
            //IL_000d:  ldc.r8     4294967295.5
            //IL_0016:  bge.un.s   IL_0044

            //IL_0018:  ldarg.0               
            //IL_0019:  conv.u4
            //IL_001a:  stloc.0
            //IL_001b:  ldarg.0
            //IL_001c:  ldloc.0
            //IL_001d:  conv.r.un
            //IL_001e:  conv.r8
            //IL_001f:  sub
            //IL_0020:  stloc.1
            //IL_0021:  ldloc.1
            //IL_0022:  ldc.r8     0.5
            //IL_002b:  bgt.s      IL_003e

            //IL_002d:  ldloc.1
            //IL_002e:  ldc.r8     0.5
            //IL_0037:  bne.un.s   IL_0042

            //IL_0039:  ldloc.0           
            //IL_003a:  ldc.i4.1
            //IL_003b:  and
            //IL_003c:  brfalse.s  IL_0042

            //IL_003e:  ldloc.0
            //IL_003f:  ldc.i4.1
            //IL_0040:  add
            //IL_0041:  stloc.0
            //IL_0042:  ldloc.0
            //IL_0043:  ret

            //IL_0044:  ldstr      "Overflow_UInt32"
            //IL_0049:  call       string System.Environment::GetResourceString(string)
            //IL_004e:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0053:  throw
            uint V_0;
            double V_1;
            if(@value>=-0.5&&@value<4294967295.5)
            {
                //IL_0018
                V_0=(uint)@value;
                V_1=@value-(double)V_0;
                if (V_1 <= 0.5D)
                {
                    if (V_1 == 0.5D)
                    {
                        //IL_0039
                        if (V_0 & 1 != 0)//对于置于中央的数使用逢奇进位
                        {
                            V_0 = V_0 + 1;
                            //IL_0042
                        }
                    }
                }
                else
                {
                    V_0 = V_0 + 1;
                }

                //IL_0042
                return V_0;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt32"));
            }


        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(System.Decimal @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  call       valuetype System.Decimal System.Decimal::Round(valuetype System.Decimal,
            //                                                                    int32)
            //IL_0007:  call       uint32 System.Decimal::ToUInt32(valuetype System.Decimal)
            //IL_000c:  ret
            System.Decimal.ToUInt32(System.Decimal.Round(@value,0));
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(string @value)
        {
            // 代码大小       17 (0x11)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldarg.0
            //IL_0006:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_000b:  call       uint32 System.UInt32::Parse(string,
            //                                                 class System.IFormatProvider)
            //IL_0010:  ret
            if (@value == null) 
            {
                return 0; 
            } 
            else 
            {
                return System.UInt32.Parse(@value, System.Globalization.CultureInfo.CurrentCulture);
            }


        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(string @value, System.IFormatProvider provider)
        {
            // 代码大小       14 (0xe)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0005

            //IL_0003:  ldc.i4.0
            //IL_0004:  ret

            //IL_0005:  ldarg.0
            //IL_0006:  ldc.i4.7
            //IL_0007:  ldarg.1
            //IL_0008:  call       uint32 System.UInt32::Parse(string,
            //                                                 valuetype System.Globalization.NumberStyles,
            //                                                 class System.IFormatProvider)
            //IL_000d:  ret
            if (@value == null)
            {
                return 0;
            }
            else
            {
                return System.UInt32.Parse(@value, System.Globalization.NumberStyles.Integer, provider);
            }
        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(System.DateTime @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.DateTime
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance uint32 System.IConvertible::ToUInt32(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToUInt32(null);
        }

        public static long ToInt64(object @value)
        {
            // 代码大小       19 (0x13)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldnull
            //IL_000a:  callvirt   instance int64 System.IConvertible::ToInt64(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  conv.i8
            //IL_0012:  ret
            if (@value == null)
            {
                return 0L;
            }
            else
            {
                return ((System.IConvertible)@value).ToInt64(null);
            }
        }

        public static long ToInt64(object @value, System.IFormatProvider provider)
        {
            // 代码大小       19 (0x13)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldarg.1
            //IL_000a:  callvirt   instance int64 System.IConvertible::ToInt64(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  conv.i8
            //IL_0012:  ret
            if (@value == null)
            {
                return 0L;
            }
            else
            {
                return ((System.IConvertible)@value).ToInt64(provider);
            }
        }

        public static long ToInt64(bool @value)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0006

            //IL_0003:  ldc.i4.0
            //IL_0004:  br.s       IL_0007

            //IL_0006:  ldc.i4.1
            //IL_0007:  conv.i8
            //IL_0008:  ret
            if (@value)
            {
                return 1L;
            }
            else
            {
                return 0L;
            }
        }

        public static long ToInt64(char @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.u8
            //IL_0002:  ret
            return @value; 
        }
        [System.CLSCompliant(false)]
        public static long ToInt64(sbyte @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.i8
            //IL_0002:  ret
            return @value;

        }

        public static long ToInt64(byte @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.u8
            //IL_0002:  ret
            return @value;
        }

        public static long ToInt64(short @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.i8
            //IL_0002:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static long ToInt64(ushort @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.u8
            //IL_0002:  ret
            return @value;
        }

        public static long ToInt64(int @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.i8
            //IL_0002:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static long ToInt64(uint @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.u8
            //IL_0002:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static long ToInt64(ulong @value)
        {
            // 代码大小       30 (0x1e)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i8     0x7fffffffffffffff
            //IL_000a:  ble.un.s   IL_001c

            //IL_000c:  ldstr      "Overflow_Int64"
            //IL_0011:  call       string System.Environment::GetResourceString(string)
            //IL_0016:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_001b:  throw

            //IL_001c:  ldarg.0
            //IL_001d:  ret
            if (@value <= 0x7ffffffffffffffful)
            {
                return (long)@value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int64"));
            }
        }

        public static long ToInt64(long @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }

        public static long ToInt64(float @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  call       int64 System.Convert::ToInt64(float64)
            //IL_0007:  ret
            return System.Convert.ToInt64((double)@value);
        }

        public static long ToInt64(double @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       float64 System.Math::Round(float64)
            //IL_0006:  conv.ovf.i8
            //IL_0007:  ret
            return checked((long) System.Math.Round(@value));
        }

        public static long ToInt64(System.Decimal @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  call       valuetype System.Decimal System.Decimal::Round(valuetype System.Decimal,
            //                                                                    int32)
            //IL_0007:  call       int64 System.Decimal::ToInt64(valuetype System.Decimal)
            //IL_000c:  ret
            return System.Decimal.ToInt64(System.Decimal.Round(@value,0));
        }

        public static long ToInt64(string @value)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0006

            //IL_0003:  ldc.i4.0
            //IL_0004:  conv.i8
            //IL_0005:  ret

            //IL_0006:  ldarg.0
            //IL_0007:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_000c:  call       int64 System.Int64::Parse(string,
            //                                               class System.IFormatProvider)
            //IL_0011:  ret
            if (@value == null)
            {
                return 0L;
            }
            else
            {
                return System.Int64.Parse(@value,System.Globalization.CultureInfo.CurrentCulture);
            }
        }

        public static long ToInt64(string @value, System.IFormatProvider provider)
        {
            // 代码大小       15 (0xf)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0006

            //IL_0003:  ldc.i4.0
            //IL_0004:  conv.i8
            //IL_0005:  ret

            //IL_0006:  ldarg.0
            //IL_0007:  ldc.i4.7
            //IL_0008:  ldarg.1
            //IL_0009:  call       int64 System.Int64::Parse(string,
            //                                               valuetype System.Globalization.NumberStyles,
            //                                               class System.IFormatProvider)
            //IL_000e:  ret
            if (@value == null)
            {
                return 0L;
            }
            else
            {
                return System.Int64.Parse(@value, NumberStyles.Integer,provider);
            }
        }

        public static long ToInt64(System.DateTime @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.DateTime
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance int64 System.IConvertible::ToInt64(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToInt64(null);
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(object @value)
        {
            // 代码大小       19 (0x13)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldnull
            //IL_000a:  callvirt   instance uint64 System.IConvertible::ToUInt64(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  conv.i8
            //IL_0012:  ret
            if (@value == null)
            {
                return 0ul;
            }
            else
            {
                return ((System.IConvertible)@value).ToUInt64(null);
            }

        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(object @value, System.IFormatProvider provider)
        {
            // 代码大小       19 (0x13)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldarg.1
            //IL_000a:  callvirt   instance uint64 System.IConvertible::ToUInt64(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  conv.i8
            //IL_0012:  ret
            if (@value == null)
            {
                return 0ul;
            }
            else
            {
                return ((System.IConvertible)@value).ToUInt64(provider);
            }
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(bool @value)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0006

            //IL_0003:  ldc.i4.0
            //IL_0004:  conv.i8
            //IL_0005:  ret

            //IL_0006:  ldc.i4.1
            //IL_0007:  conv.i8
            //IL_0008:  ret
            if (@value)
            {
                return 1ul;
            }
            else
            {
                return 0ul;
            }
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(char @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.u8
            //IL_0002:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(sbyte @value)
        {
            // 代码大小       23 (0x17)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  bge.s      IL_0014

            //IL_0004:  ldstr      "Overflow_UInt64"
            //IL_0009:  call       string System.Environment::GetResourceString(string)
            //IL_000e:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0013:  throw

            //IL_0014:  ldarg.0
            //IL_0015:  conv.i8
            //IL_0016:  ret
            if (@value >= 0)
            {
                return @value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt64"));
            }
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(byte @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.u8
            //IL_0002:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(short @value)
        {
            // 代码大小       23 (0x17)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  bge.s      IL_0014

            //IL_0004:  ldstr      "Overflow_UInt64"
            //IL_0009:  call       string System.Environment::GetResourceString(string)
            //IL_000e:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0013:  throw

            //IL_0014:  ldarg.0
            //IL_0015:  conv.i8
            //IL_0016:  ret
            if (@value >= 0)
            {
                return @value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt64"));
            }
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(ushort @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.u8
            //IL_0002:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(int @value)
        {
            // 代码大小       23 (0x17)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  bge.s      IL_0014

            //IL_0004:  ldstr      "Overflow_UInt64"
            //IL_0009:  call       string System.Environment::GetResourceString(string)
            //IL_000e:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0013:  throw

            //IL_0014:  ldarg.0
            //IL_0015:  conv.i8
            //IL_0016:  ret
            if (@value >= 0)
            {
                return @value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt64"));
            }
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(uint @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.u8
            //IL_0002:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(long @value)
        {
            // 代码大小       23 (0x17)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  conv.i8
            //IL_0003:  bge.s      IL_0015

            //IL_0005:  ldstr      "Overflow_UInt64"
            //IL_000a:  call       string System.Environment::GetResourceString(string)
            //IL_000f:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0014:  throw

            //IL_0015:  ldarg.0
            //IL_0016:  ret
            if (@value > 0L)
            {
                return @value;
            }
            else
            {
                throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt64"));
            }
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(ulong @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(float @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  call       uint64 System.Convert::ToUInt64(float64)
            //IL_0007:  ret
            return System.Convert.ToUInt64((double)@value);
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(double @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       float64 System.Math::Round(float64)
            //IL_0006:  conv.ovf.u8
            //IL_0007:  ret
            return checked((ulong)System.Math.Round(@value));
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(System.Decimal @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.0
            //IL_0002:  call       valuetype System.Decimal System.Decimal::Round(valuetype System.Decimal,
            //                                                                    int32)
            //IL_0007:  call       uint64 System.Decimal::ToUInt64(valuetype System.Decimal)
            //IL_000c:  ret
            return System.Decimal.ToUInt64(System.Decimal.Round(@value,0));
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(string @value)
        {
            // 代码大小       18 (0x12)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0006

            //IL_0003:  ldc.i4.0
            //IL_0004:  conv.i8
            //IL_0005:  ret

            //IL_0006:  ldarg.0
            //IL_0007:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_000c:  call       uint64 System.UInt64::Parse(string,
            //                                                 class System.IFormatProvider)
            //IL_0011:  ret
            if (@value == null)
            {
                return 0ul;
            }
            else
            {
                return System.UInt64.Parse(@value, System.Globalization.CultureInfo.CurrentCulture);
            }
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(string @value, System.IFormatProvider provider)
        {
            // 代码大小       15 (0xf)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0006

            //IL_0003:  ldc.i4.0
            //IL_0004:  conv.i8
            //IL_0005:  ret

            //IL_0006:  ldarg.0
            //IL_0007:  ldc.i4.7
            //IL_0008:  ldarg.1
            //IL_0009:  call       uint64 System.UInt64::Parse(string,
            //                                                 valuetype System.Globalization.NumberStyles,
            //                                                 class System.IFormatProvider)
            //IL_000e:  ret
            if (@value == null)
            {
                return 0ul;
            }
            else
            {
                return System.UInt64.Parse(@value, NumberStyles.Integer, provider);
            }
        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(System.DateTime @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.DateTime
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance uint64 System.IConvertible::ToUInt64(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToUInt64(null);
        }

        public static float ToSingle(object @value)
        {
            // 代码大小       22 (0x16)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldnull
            //IL_000a:  callvirt   instance float32 System.IConvertible::ToSingle(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.r4     0.0
            //IL_0015:  ret
            if (@value == null)
            {
                return 0f;
            }
            else
            {
                return ((System.IConvertible)@value).ToSingle(null);
            }
        }

        public static float ToSingle(object @value, System.IFormatProvider provider)
        {
            // 代码大小       22 (0x16)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldarg.1
            //IL_000a:  callvirt   instance float32 System.IConvertible::ToSingle(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.r4     0.0
            //IL_0015:  ret
            if (@value == null)
            {
                return 0f;
            }
            else
            {
                return ((System.IConvertible)@value).ToSingle(provider);
            }

        }
        [System.CLSCompliant(false)]
        public static float ToSingle(sbyte @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r4
            //IL_0002:  ret
            return @value;
        }

        public static float ToSingle(byte @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r4
            //IL_0002:  ret
            return @value;
        }

        public static float ToSingle(char @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Char
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance float32 System.IConvertible::ToSingle(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToSingle(null);
        }

        public static float ToSingle(short @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r4
            //IL_0002:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static float ToSingle(ushort @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r4
            //IL_0002:  ret
            return @value;
        }

        public static float ToSingle(int @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r4
            //IL_0002:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static float ToSingle(uint @value)
        {
            // 代码大小       4 (0x4)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r.un
            //IL_0002:  conv.r4
            //IL_0003:  ret
            return @value;
        }

        public static float ToSingle(long @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r4
            //IL_0002:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static float ToSingle(ulong @value)
        {
            // 代码大小       4 (0x4)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r.un
            //IL_0002:  conv.r4
            //IL_0003:  ret
            return @value;
        }

        public static float ToSingle(float @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }

        public static float ToSingle(double @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r4
            //IL_0002:  ret
            return (float)@value;
        }

        public static float ToSingle(System.Decimal @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       float32 System.Decimal::op_Explicit(valuetype System.Decimal)
            //IL_0006:  conv.r4
            //IL_0007:  ret
            return (float)System.Decimal.op_Explicit(@value);
        }

        public static float ToSingle(string @value)
        {
            // 代码大小       21 (0x15)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0009

            //IL_0003:  ldc.r4     0.0
            //IL_0008:  ret

            //IL_0009:  ldarg.0
            //IL_000a:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_000f:  call       float32 System.Single::Parse(string,
            //                                                  class System.IFormatProvider)
            //IL_0014:  ret
            if (@value == null)
            {
                return 0.0f;
            }
            else
            {
                return System.Single.Parse(@value, System.Globalization.CultureInfo.CurrentCulture);
            }
        }

        public static float ToSingle(string @value, System.IFormatProvider provider)
        {
            // 代码大小       22 (0x16)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0009

            //IL_0003:  ldc.r4     0.0
            //IL_0008:  ret

            //IL_0009:  ldarg.0
            //IL_000a:  ldc.i4     0xe7
            //IL_000f:  ldarg.1
            //IL_0010:  call       float32 System.Single::Parse(string,
            //                                                  valuetype System.Globalization.NumberStyles,
            //                                                  class System.IFormatProvider)
            //IL_0015:  ret
            if (@value == null)
            {
                return 0.0f;
            }
            else
            {
                return System.Single.Parse(@value,NumberStyles.AllowThousands|NumberStyles.Float,System.Globalization.CultureInfo.CurrentCulture);
            }
        }

        public static float ToSingle(bool @value)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0006

            //IL_0003:  ldc.i4.0
            //IL_0004:  br.s       IL_0007

            //IL_0006:  ldc.i4.1
            //IL_0007:  conv.r4
            //IL_0008:  ret
            if (@value)
            {
                return 1f;
            }
            else
            {
                return 0f;
            }
        }

        public static float ToSingle(System.DateTime @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.DateTime
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance float32 System.IConvertible::ToSingle(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToSingle(null);
        }

        public static double ToDouble(object @value)
        {
            // 代码大小       26 (0x1a)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldnull
            //IL_000a:  callvirt   instance float64 System.IConvertible::ToDouble(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.r8     0.0
            //IL_0019:  ret
            if (@value == null)
            {
                return 0.0d;
            }
            else
            {
                return ((System.IConvertible)@value).ToDouble(null);
            }
        }

        public static double ToDouble(object @value, System.IFormatProvider provider)
        {
            // 代码大小       26 (0x1a)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldarg.1
            //IL_000a:  callvirt   instance float64 System.IConvertible::ToDouble(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.r8     0.0
            //IL_0019:  ret
            if (@value == null)
            {
                return 0.0d;
            }
            else
            {
                return ((System.IConvertible)@value).ToDouble(provider);
            }

        }
        [System.CLSCompliant(false)]
        public static double ToDouble(sbyte @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  ret
            return @value;
        }

        public static double ToDouble(byte @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  ret
            return @value;
        }

        public static double ToDouble(short @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  ret
            return @value;
        }

        public static double ToDouble(char @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Char
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance float64 System.IConvertible::ToDouble(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDouble(null);
        }
        [System.CLSCompliant(false)]
        public static double ToDouble(ushort @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  ret
            return @value;
        }

        public static double ToDouble(int @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static double ToDouble(uint @value)
        {
            // 代码大小       4 (0x4)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r.un
            //IL_0002:  conv.r8
            //IL_0003:  ret
            return @value;
        }

        public static double ToDouble(long @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  ret
            return @value;
        }
        [System.CLSCompliant(false)]
        public static double ToDouble(ulong @value)
        {
            // 代码大小       4 (0x4)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r.un
            //IL_0002:  conv.r8
            //IL_0003:  ret
            return @value;
        }

        public static double ToDouble(float @value)
        {
            // 代码大小       3 (0x3)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  ret
            return (double)@value;
        }

        public static double ToDouble(double @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }

        public static double ToDouble(System.Decimal @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       float64 System.Decimal::op_Explicit(valuetype System.Decimal)
            //IL_0006:  conv.r8
            //IL_0007:  ret
            return (double)System.Decimal.op_Explicit(@value);
        }

        public static double ToDouble(string @value)
        {
            // 代码大小       25 (0x19)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_000d

            //IL_0003:  ldc.r8     0.0
            //IL_000c:  ret

            //IL_000d:  ldarg.0
            //IL_000e:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_0013:  call       float64 System.Double::Parse(string,
            //                                                  class System.IFormatProvider)
            //IL_0018:  ret
            if (@value == null)
            {
                return 0d;
            }
            else
            {
                return System.Double.Parse(@value, System.Globalization.CultureInfo.CurrentCulture);
            }
        }

        public static double ToDouble(string @value, System.IFormatProvider provider)
        {
            // 代码大小       26 (0x1a)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_000d

            //IL_0003:  ldc.r8     0.0
            //IL_000c:  ret

            //IL_000d:  ldarg.0
            //IL_000e:  ldc.i4     0xe7
            //IL_0013:  ldarg.1
            //IL_0014:  call       float64 System.Double::Parse(string,
            //                                                  valuetype System.Globalization.NumberStyles,
            //                                                  class System.IFormatProvider)
            //IL_0019:  ret
            if (@value == null)
            {
                return 0.0d;
            }
            else
            {
                return System.Double.Parse(@value, NumberStyles.AllowThousands | NumberStyles.Float, provider);
            }
              
        }

        public static double ToDouble(bool @value)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0006

            //IL_0003:  ldc.i4.0
            //IL_0004:  br.s       IL_0007

            //IL_0006:  ldc.i4.1
            //IL_0007:  conv.r8
            //IL_0008:  ret
            if (@value)
            {
                return 1d;
            }
            else
            {
                return 0d;
            }
        }

        public static double ToDouble(System.DateTime @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.DateTime
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance float64 System.IConvertible::ToDouble(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDouble(null);
        }

        public static System.Decimal ToDecimal(object @value)
        {
            // 代码大小       23 (0x17)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldnull
            //IL_000a:  callvirt   instance valuetype System.Decimal System.IConvertible::ToDecimal(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  newobj     instance void System.Decimal::.ctor(int32)
            //IL_0016:  ret
            if (@value == null)
            {
                return new Decimal(0);
            }
            else
            {
                return ((System.IConvertible)@value).ToDecimal(null);
            }


        }

        public static System.Decimal ToDecimal(object @value, System.IFormatProvider provider)
        {
            // 代码大小       23 (0x17)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldarg.1
            //IL_000a:  callvirt   instance valuetype System.Decimal System.IConvertible::ToDecimal(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldc.i4.0
            //IL_0011:  newobj     instance void System.Decimal::.ctor(int32)
            //IL_0016:  ret
            if (@value == null)
            {
                return new Decimal(0);
            }
            else
            {
                return ((System.IConvertible)@value).ToDecimal(provider);
            }
        }
        [System.CLSCompliant(false)]
        public static System.Decimal ToDecimal(sbyte @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       valuetype System.Decimal System.Decimal::op_Implicit(int8)
            //IL_0006:  ret
            return System.Decimal.op_Implicit(@value);
        }

        public static System.Decimal ToDecimal(byte @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       valuetype System.Decimal System.Decimal::op_Implicit(uint8)
            //IL_0006:  ret
            return System.Decimal.op_Implicit(@value);
        }

        public static System.Decimal ToDecimal(char @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Char
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.Decimal System.IConvertible::ToDecimal(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDecimal(null);
        }

        public static System.Decimal ToDecimal(short @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       valuetype System.Decimal System.Decimal::op_Implicit(int16)
            //IL_0006:  ret
            return System.Decimal.op_Implicit(@value);
        }
        [System.CLSCompliant(false)]
        public static System.Decimal ToDecimal(ushort @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       valuetype System.Decimal System.Decimal::op_Implicit(uint16)
            //IL_0006:  ret
            return System.Decimal.op_Implicit(@value);
        }

        public static System.Decimal ToDecimal(int @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       valuetype System.Decimal System.Decimal::op_Implicit(int32)
            //IL_0006:  ret
            return System.Decimal.op_Implicit(@value);
        }
        [System.CLSCompliant(false)]
        public static System.Decimal ToDecimal(uint @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       valuetype System.Decimal System.Decimal::op_Implicit(uint32)
            //IL_0006:  ret
            return System.Decimal.op_Implicit(@value);
        }

        public static System.Decimal ToDecimal(long @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       valuetype System.Decimal System.Decimal::op_Implicit(int64)
            //IL_0006:  ret
            return System.Decimal.op_Implicit(@value);
        }
        [System.CLSCompliant(false)]
        public static System.Decimal ToDecimal(ulong @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       valuetype System.Decimal System.Decimal::op_Implicit(uint64)
            //IL_0006:  ret
            return System.Decimal.op_Implicit(@value);
        }

        public static System.Decimal ToDecimal(float @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r4
            //IL_0002:  call       valuetype System.Decimal System.Decimal::op_Explicit(float32)
            //IL_0007:  ret
            return System.Decimal.op_Explicit(@value);
        }

        public static System.Decimal ToDecimal(double @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  conv.r8
            //IL_0002:  call       valuetype System.Decimal System.Decimal::op_Explicit(float64)
            //IL_0007:  ret
            return System.Decimal.op_Explicit(@value);
        }

        public static System.Decimal ToDecimal(string @value)
        {
            // 代码大小       22 (0x16)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_000a

            //IL_0003:  ldc.i4.0
            //IL_0004:  newobj     instance void System.Decimal::.ctor(int32)
            //IL_0009:  ret

            //IL_000a:  ldarg.0
            //IL_000b:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_0010:  call       valuetype System.Decimal System.Decimal::Parse(string,
            //                                                                    class System.IFormatProvider)
            //IL_0015:  ret
            if (@value == null)
            {
                return new System.Decimal(0);
            }
            else
            {
                return System.Decimal.Parse(@value, System.Globalization.CultureInfo.CurrentCulture);
            }
        }

        public static System.Decimal ToDecimal(string @value, System.IFormatProvider provider)
        {
            // 代码大小       20 (0x14)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_000a

            //IL_0003:  ldc.i4.0
            //IL_0004:  newobj     instance void System.Decimal::.ctor(int32)
            //IL_0009:  ret

            //IL_000a:  ldarg.0
            //IL_000b:  ldc.i4.s   111
            //IL_000d:  ldarg.1
            //IL_000e:  call       valuetype System.Decimal System.Decimal::Parse(string,
            //                                                                    valuetype System.Globalization.NumberStyles,
            //                                                                    class System.IFormatProvider)
            //IL_0013:  ret
            if (@value == null)
            {
                return new System.Decimal(0);
            }
            else
            {
                return System.Decimal.Parse(@value,NumberStyles.Number,provider);
            }
        }

        public static System.Decimal ToDecimal(System.Decimal @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }

        public static System.Decimal ToDecimal(bool @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_0006

            //IL_0003:  ldc.i4.0
            //IL_0004:  br.s       IL_0007

            //IL_0006:  ldc.i4.1
            //IL_0007:  call       valuetype System.Decimal System.Decimal::op_Implicit(int32)
            //IL_000c:  ret
            if (@value)
            {
                return System.Decimal.op_Implicit(1);
            }
            else
            {
                return System.Decimal.op_Implicit(0);
            }
        }

        public static System.Decimal ToDecimal(System.DateTime @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.DateTime
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.Decimal System.IConvertible::ToDecimal(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDecimal(null);
        }

        public static System.DateTime ToDateTime(System.DateTime @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }

        public static System.DateTime ToDateTime(object @value)
        {
            // 代码大小       22 (0x16)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldnull
            //IL_000a:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldsfld     valuetype System.DateTime System.DateTime::MinValue
            //IL_0015:  ret
            if (@value == null)
            {
                return System.DateTime.MinValue;
            }
            else
            {
                return ((System.IConvertible)@value).ToDateTime(null);
            }
        }

        public static System.DateTime ToDateTime(object @value, System.IFormatProvider provider)
        {
            // 代码大小       22 (0x16)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brfalse.s  IL_0010

            //IL_0003:  ldarg.0
            //IL_0004:  castclass  System.IConvertible
            //IL_0009:  ldarg.1
            //IL_000a:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000f:  ret

            //IL_0010:  ldsfld     valuetype System.DateTime System.DateTime::MinValue
            //IL_0015:  ret
            if (@value == null)
            {
                return System.DateTime.MinValue;
            }
            else
            {
                return ((System.IConvertible)@value).ToDateTime(provider);
            }

        }

        public static System.DateTime ToDateTime(string @value)
        {
            // 代码大小       23 (0x17)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_000b

            //IL_0003:  ldc.i4.0
            //IL_0004:  conv.i8
            //IL_0005:  newobj     instance void System.DateTime::.ctor(int64)
            //IL_000a:  ret

            //IL_000b:  ldarg.0
            //IL_000c:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_0011:  call       valuetype System.DateTime System.DateTime::Parse(string,
            //                                                                      class System.IFormatProvider)
            //IL_0016:  ret
            if (@value == null)
            {
                return new System.DateTime(0L);
            }
            else
            {
                return System.DateTime.Parse(@value, System.Globalization.CultureInfo.CurrentCulture);
            }
        }

        public static System.DateTime ToDateTime(string @value, System.IFormatProvider provider)
        {
            // 代码大小       19 (0x13)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_000b

            //IL_0003:  ldc.i4.0
            //IL_0004:  conv.i8
            //IL_0005:  newobj     instance void System.DateTime::.ctor(int64)
            //IL_000a:  ret

            //IL_000b:  ldarg.0
            //IL_000c:  ldarg.1
            //IL_000d:  call       valuetype System.DateTime System.DateTime::Parse(string,
            //                                                                      class System.IFormatProvider)
            //IL_0012:  ret
            if (@value == null)
            {
                return new System.DateTime(0L);
            }
            else
            {
                return System.DateTime.Parse(@value, provider);
            }
        }
        [System.CLSCompliant(false)]
        public static System.DateTime ToDateTime(sbyte @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.SByte
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDateTime(null);
        }

        public static System.DateTime ToDateTime(byte @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Byte
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDateTime(null);
        }

        public static System.DateTime ToDateTime(short @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Int16
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDateTime(null);
        }
        [System.CLSCompliant(false)]
        public static System.DateTime ToDateTime(ushort @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.UInt16
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDateTime(null);
        }

        public static System.DateTime ToDateTime(int @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Int32
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDateTime(null);
        }
        [System.CLSCompliant(false)]
        public static System.DateTime ToDateTime(uint @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.UInt32
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDateTime(null);
        }

        public static System.DateTime ToDateTime(long @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Int64
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDateTime(null);
        }
        [System.CLSCompliant(false)]
        public static System.DateTime ToDateTime(ulong @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.UInt64
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDateTime(null);
        }

        public static System.DateTime ToDateTime(bool @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Boolean
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDateTime(null);
        }

        public static System.DateTime ToDateTime(char @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Char
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDateTime(null);
        }

        public static System.DateTime ToDateTime(float @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Single
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDateTime(null);
        }

        public static System.DateTime ToDateTime(double @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Double
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDateTime(null);
        }

        public static System.DateTime ToDateTime(System.Decimal @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  box        System.Decimal
            //IL_0006:  ldnull
            //IL_0007:  callvirt   instance valuetype System.DateTime System.IConvertible::ToDateTime(class System.IFormatProvider)
            //IL_000c:  ret
            return ((System.IConvertible)@value).ToDateTime(null);
        }

        public static string ToString(object @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldnull
            //IL_0002:  call       string System.Convert::ToString(object,
            //                                                     class System.IFormatProvider)
            //IL_0007:  ret
            return System.Convert.ToString(@value, null);
        }

        public static string ToString(object @value, System.IFormatProvider provider)
        {
            // 代码大小       53 (0x35)
            //.maxstack  3
            //.locals init (class System.IConvertible V_0,
            //         class System.IFormattable V_1)
            //IL_0000:  ldarg.0
            //IL_0001:  isinst     System.IConvertible
            //IL_0006:  stloc.0
            //IL_0007:  ldloc.0
            //IL_0008:  brfalse.s  IL_0012

            //IL_000a:  ldloc.0
            //IL_000b:  ldarg.1
            //IL_000c:  callvirt   instance string System.IConvertible::ToString(class System.IFormatProvider)
            //IL_0011:  ret

            //IL_0012:  ldarg.0
            //IL_0013:  isinst     System.IFormattable
            //IL_0018:  stloc.1
            //IL_0019:  ldloc.1
            //IL_001a:  brfalse.s  IL_0025

            //IL_001c:  ldloc.1
            //IL_001d:  ldnull
            //IL_001e:  ldarg.1
            //IL_001f:  callvirt   instance string System.IFormattable::ToString(string,
            //                                                                   class System.IFormatProvider)
            //IL_0024:  ret

            //IL_0025:  ldarg.0
            //IL_0026:  brfalse.s  IL_002f

            //IL_0028:  ldarg.0
            //IL_0029:  callvirt   instance string System.Object::ToString()
            //IL_002e:  ret

            //IL_002f:  ldsfld     string System.String::Empty
            //IL_0034:  ret
            System.IConvertible V_0;
            System.IFormattable V_1;
            V_0 = @value as System.IConvertible;
            if (V_0 == null)
            {
                //IL_0012
                V_1 = @value as System.IFormattable;
                if (V_1 == null)
                {
                    //IL_0025
                    if (@value == null)
                    {
                        return string.Empty;
                    }
                    else
                    {
                        return @value.ToString();
                    }
                }
                else
                {
                    return V_1.ToString(null, provider);
                }
            }
            else
            {
                return V_0.ToString(provider);
            }

        }

        public static string ToString(bool @value)
        {
            // 代码大小       8 (0x8)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  call       instance string System.Boolean::ToString()
            //IL_0007:  ret
            return @value.ToString();
        }

        public static string ToString(bool @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  ldarg.1
            //IL_0003:  call       instance string System.Boolean::ToString(class System.IFormatProvider)
            //IL_0008:  ret
            return @value.ToString(provider);
        }

        public static string ToString(char @value)
        {
            // 代码大小       7 (0x7)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  call       string System.Char::ToString(char)
            //IL_0006:  ret
            return System.Char.ToString(@value);
        }

        public static string ToString(char @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  ldarg.1
            //IL_0003:  call       instance string System.Char::ToString(class System.IFormatProvider)
            //IL_0008:  ret
            return @value.ToString(provider);
        }
        [System.CLSCompliant(false)]
        public static string ToString(sbyte @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_0007:  call       instance string System.SByte::ToString(class System.IFormatProvider)
            //IL_000c:  ret
            return @value.ToString(System.Globalization.CultureInfo.CurrentCulture);
        }
        [System.CLSCompliant(false)]
        public static string ToString(sbyte @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  ldarg.1
            //IL_0003:  call       instance string System.SByte::ToString(class System.IFormatProvider)
            //IL_0008:  ret
            return @value.ToString(provider);
        }

        public static string ToString(byte @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_0007:  call       instance string System.Byte::ToString(class System.IFormatProvider)
            //IL_000c:  ret
            return @value.ToString(System.Globalization.CultureInfo.CurrentCulture);
        }

        public static string ToString(byte @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  ldarg.1
            //IL_0003:  call       instance string System.Byte::ToString(class System.IFormatProvider)
            //IL_0008:  ret
            return @value.ToString(provider);
        }

        public static string ToString(short @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_0007:  call       instance string System.Int16::ToString(class System.IFormatProvider)
            //IL_000c:  ret
            return @value.ToString(System.Globalization.CultureInfo.CurrentCulture);
        }

        public static string ToString(short @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  ldarg.1
            //IL_0003:  call       instance string System.Int16::ToString(class System.IFormatProvider)
            //IL_0008:  ret
            return @value.ToString(provider);
        }
        [System.CLSCompliant(false)]
        public static string ToString(ushort @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_0007:  call       instance string System.UInt16::ToString(class System.IFormatProvider)
            //IL_000c:  ret
            return @value.ToString(System.Globalization.CultureInfo.CurrentCulture);
        }
        [System.CLSCompliant(false)]
        public static string ToString(ushort @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  ldarg.1
            //IL_0003:  call       instance string System.UInt16::ToString(class System.IFormatProvider)
            //IL_0008:  ret
            return @value.ToString(provider);
        }

        public static string ToString(int @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_0007:  call       instance string System.Int32::ToString(class System.IFormatProvider)
            //IL_000c:  ret
            return @value.ToString(System.Globalization.CultureInfo.CurrentCulture);
        }

        public static string ToString(int @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  ldarg.1
            //IL_0003:  call       instance string System.Int32::ToString(class System.IFormatProvider)
            //IL_0008:  ret
            return @value.ToString(provider);
        }
        [System.CLSCompliant(false)]
        public static string ToString(uint @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_0007:  call       instance string System.UInt32::ToString(class System.IFormatProvider)
            //IL_000c:  ret
            return @value.ToString(System.Globalization.CultureInfo.CurrentCulture);
        }
        [System.CLSCompliant(false)]
        public static string ToString(uint @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  ldarg.1
            //IL_0003:  call       instance string System.UInt32::ToString(class System.IFormatProvider)
            //IL_0008:  ret
            return @value.ToString(provider);
        }

        public static string ToString(long @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_0007:  call       instance string System.Int64::ToString(class System.IFormatProvider)
            //IL_000c:  ret
            return @value.ToString(System.Globalization.CultureInfo.CurrentCulture);
        }

        public static string ToString(long @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  ldarg.1
            //IL_0003:  call       instance string System.Int64::ToString(class System.IFormatProvider)
            //IL_0008:  ret
            return @value.ToString(provider);
        }
        [System.CLSCompliant(false)]
        public static string ToString(ulong @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_0007:  call       instance string System.UInt64::ToString(class System.IFormatProvider)
            //IL_000c:  ret
            return @value.ToString(System.Globalization.CultureInfo.CurrentCulture);
        }
        [System.CLSCompliant(false)]
        public static string ToString(ulong @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  ldarg.1
            //IL_0003:  call       instance string System.UInt64::ToString(class System.IFormatProvider)
            //IL_0008:  ret
            return @value.ToString(provider);
        }

        public static string ToString(float @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_0007:  call       instance string System.Single::ToString(class System.IFormatProvider)
            //IL_000c:  ret
            return @value.ToString(System.Globalization.CultureInfo.CurrentCulture);
        }

        public static string ToString(float @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  ldarg.1
            //IL_0003:  call       instance string System.Single::ToString(class System.IFormatProvider)
            //IL_0008:  ret
            return @value.ToString(provider);
        }

        public static string ToString(float @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_0007:  call       instance string System.Double::ToString(class System.IFormatProvider)
            //IL_000c:  ret
            return @value.ToString(System.Globalization.CultureInfo.CurrentCulture);
        }

        public static string ToString(float @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  ldarg.1
            //IL_0003:  call       instance string System.Double::ToString(class System.IFormatProvider)
            //IL_0008:  ret
            return @value.ToString(provider);
        }

        public static string ToString(System.Decimal @value)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
            //IL_0007:  call       instance string System.Decimal::ToString(class System.IFormatProvider)
            //IL_000c:  ret
            return @value.ToString(System.Globalization.CultureInfo.CurrentCulture);
        }

        public static string ToString(System.Decimal @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  ldarg.1
            //IL_0003:  call       instance string System.Decimal::ToString(class System.IFormatProvider)
            //IL_0008:  ret
            return @value.ToString(provider);
        }

        public static string ToString(System.DateTime @value)
        {
            // 代码大小       14 (0xe)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  constrained. System.DateTime
            //IL_0008:  callvirt   instance string System.Object::ToString()
            //IL_000d:  ret
            return @value.ToString();
        }

        public static string ToString(System.DateTime @value, System.IFormatProvider provider)
        {
            // 代码大小       9 (0x9)
            //.maxstack  8
            //IL_0000:  ldarga.s   'value'
            //IL_0002:  ldarg.1
            //IL_0003:  call       instance string System.DateTime::ToString(class System.IFormatProvider)
            //IL_0008:  ret
            return @value.ToString(provider);
        }

        public static string ToString(string @value)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }

        public static string ToString(string @value, System.IFormatProvider provider)
        {
            // 代码大小       2 (0x2)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ret
            return @value;
        }

        public static byte ToByte(string @value, int fromBase)
        {
            // 代码大小       78 (0x4e)
            //.maxstack  3
            //.locals init (int32 V_0)                        
            //IL_0000:  ldarg.1
            //IL_0001:  ldc.i4.2
            //IL_0002:  beq.s      IL_0022

            //IL_0004:  ldarg.1
            //IL_0005:  ldc.i4.8
            //IL_0006:  beq.s      IL_0022

            //IL_0008:  ldarg.1
            //IL_0009:  ldc.i4.s   10
            //IL_000b:  beq.s      IL_0022

            //IL_000d:  ldarg.1
            //IL_000e:  ldc.i4.s   16
            //IL_0010:  beq.s      IL_0022

            //IL_0012:  ldstr      "Arg_InvalidBase"
            //IL_0017:  call       string System.Environment::GetResourceString(string)
            //IL_001c:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_0021:  throw

            //IL_0022:  ldarg.0             
            //IL_0023:  ldarg.1
            //IL_0024:  ldc.i4     0x1200
            //IL_0029:  call       int32 System.ParseNumbers::StringToInt(string,
            //                                                            int32,
            //                                                            int32)
            //IL_002e:  stloc.0
            //IL_002f:  ldloc.0
            //IL_0030:  ldc.i4.0
            //IL_0031:  blt.s      IL_003b

            //IL_0033:  ldloc.0
            //IL_0034:  ldc.i4     0xff
            //IL_0039:  ble.s      IL_004b

            //IL_003b:  ldstr      "Overflow_Byte"
            //IL_0040:  call       string System.Environment::GetResourceString(string)
            //IL_0045:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_004a:  throw

            //IL_004b:  ldloc.0
            //IL_004c:  conv.u1
            //IL_004d:  ret
            int V_0;
            if(fromBase==2||fromBase==8||fromBase==10||fromBase==16)
            {
                //IL_0022
                V_0=System.ParseNumbers.StringToInt(@value,fromBase,0x1200);

                if (V_0 >= 0 && V_0 <= 0xff)
                {
                    return (byte)V_0;
                }
                else
                {
                    //IL_003b
                    throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Byte"));
                }                

            }
            else
            {
                throw new System.ArgumentException(System.Environment.GetResourceString("Arg_InvalidBase")); 
            }

        }
        [System.CLSCompliant(false)]
        public static sbyte ToSByte(string @value, int fromBase)
        {
            // 代码大小       92 (0x5c)
            //.maxstack  3
            //.locals init (int32 V_0)
            //IL_0000:  ldarg.1
            //IL_0001:  ldc.i4.2
            //IL_0002:  beq.s      IL_0022

            //IL_0004:  ldarg.1
            //IL_0005:  ldc.i4.8
            //IL_0006:  beq.s      IL_0022

            //IL_0008:  ldarg.1
            //IL_0009:  ldc.i4.s   10
            //IL_000b:  beq.s      IL_0022

            //IL_000d:  ldarg.1
            //IL_000e:  ldc.i4.s   16
            //IL_0010:  beq.s      IL_0022

            //IL_0012:  ldstr      "Arg_InvalidBase"
            //IL_0017:  call       string System.Environment::GetResourceString(string)
            //IL_001c:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_0021:  throw

            //IL_0022:  ldarg.0
            //IL_0023:  ldarg.1
            //IL_0024:  ldc.i4     0x1400
            //IL_0029:  call       int32 System.ParseNumbers::StringToInt(string,
            //                                                            int32,
            //                                                            int32)
            //IL_002e:  stloc.0
            //IL_002f:  ldarg.1                               
            //IL_0030:  ldc.i4.s   10
            //IL_0032:  beq.s      IL_003f

            //IL_0034:  ldloc.0
            //IL_0035:  ldc.i4     0xff
            //IL_003a:  bgt.s      IL_003f

            //IL_003c:  ldloc.0
            //IL_003d:  conv.i1
            //IL_003e:  ret

            //IL_003f:  ldloc.0               
            //IL_0040:  ldc.i4.s   -128
            //IL_0042:  blt.s      IL_0049

            //IL_0044:  ldloc.0
            //IL_0045:  ldc.i4.s   127
            //IL_0047:  ble.s      IL_0059

            //IL_0049:  ldstr      "Overflow_SByte"
            //IL_004e:  call       string System.Environment::GetResourceString(string)
            //IL_0053:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_0058:  throw

            //IL_0059:  ldloc.0
            //IL_005a:  conv.i1
            //IL_005b:  ret
            int V_0;
            if (fromBase == 2 || fromBase == 8 || fromBase == 10 || fromBase == 16)
            {
                //IL_0022
                V_0 = System.ParseNumbers.StringToInt(@value, fromBase, 0x1400);
                if (fromBase != 10 && V_0 <= 0xff)
                {
                    return (sbyte)V_0;
                }
                else
                {
                    //IL_003f
                    if (V_0 >= -128 && V_0 <= 127)
                    {
                        return (sbyte)V_0;
                    }
                    else
                    {
                        //IL_0049
                        throw new System.OverflowException(System.Environment.GetResourceString("Overflow_SByte"));
                    }                    
                }
                
            }
            else
            {
                throw new System.ArgumentException(System.Environment.GetResourceString("Arg_InvalidBase"));
            }
        }

        public static short ToInt16(string @value, int fromBase)
        {
            // 代码大小       98 (0x62)
            //.maxstack  3
            //.locals init (int32 V_0)                  
            //IL_0000:  ldarg.1
            //IL_0001:  ldc.i4.2
            //IL_0002:  beq.s      IL_0022

            //IL_0004:  ldarg.1
            //IL_0005:  ldc.i4.8
            //IL_0006:  beq.s      IL_0022

            //IL_0008:  ldarg.1
            //IL_0009:  ldc.i4.s   10
            //IL_000b:  beq.s      IL_0022

            //IL_000d:  ldarg.1
            //IL_000e:  ldc.i4.s   16
            //IL_0010:  beq.s      IL_0022

            //IL_0012:  ldstr      "Arg_InvalidBase"
            //IL_0017:  call       string System.Environment::GetResourceString(string)
            //IL_001c:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_0021:  throw

            //IL_0022:  ldarg.0
            //IL_0023:  ldarg.1
            //IL_0024:  ldc.i4     0x1800
            //IL_0029:  call       int32 System.ParseNumbers::StringToInt(string,
            //                                                            int32,
            //                                                            int32)
            //IL_002e:  stloc.0
            //IL_002f:  ldarg.1
            //IL_0030:  ldc.i4.s   10
            //IL_0032:  beq.s      IL_003f

            //IL_0034:  ldloc.0
            //IL_0035:  ldc.i4     0xffff
            //IL_003a:  bgt.s      IL_003f

            //IL_003c:  ldloc.0
            //IL_003d:  conv.i2
            //IL_003e:  ret

            //IL_003f:  ldloc.0
            //IL_0040:  ldc.i4     0xffff8000
            //IL_0045:  blt.s      IL_004f

            //IL_0047:  ldloc.0
            //IL_0048:  ldc.i4     0x7fff
            //IL_004d:  ble.s      IL_005f

            //IL_004f:  ldstr      "Overflow_Int16"
            //IL_0054:  call       string System.Environment::GetResourceString(string)
            //IL_0059:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_005e:  throw

            //IL_005f:  ldloc.0
            //IL_0060:  conv.i2
            //IL_0061:  ret
            int V_0;
            if(fromBase==2||fromBase==8||fromBase==10||fromBase==16)
            {
                //IL_0022
                V_0 = System.ParseNumbers.StringToInt(@value, fromBase, 0x1800);
                if (fromBase != 10 && V_0 <= 0xffff)
                {
                    return (short)V_0;
                }
                else
                {
                    //IL_003f
                    if (V_0 >= unchecked((int)0xffff8000) && V_0 <= 0x7fff)
                    {
                        return (short)V_0;
                    }
                    else
                    {
                        //IL_0049
                        throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int16"));
                    }
                }
            }
            else
            {
                throw new System.ArgumentException(System.Environment.GetResourceString("Arg_InvalidBase"));
            }


        }
        [System.CLSCompliant(false)]
        public static ushort ToUInt16(string @value, int fromBase)
        {
            // 代码大小       78 (0x4e)
            //.maxstack  3
            //.locals init (int32 V_0)
            //IL_0000:  ldarg.1
            //IL_0001:  ldc.i4.2
            //IL_0002:  beq.s      IL_0022

            //IL_0004:  ldarg.1
            //IL_0005:  ldc.i4.8
            //IL_0006:  beq.s      IL_0022

            //IL_0008:  ldarg.1
            //IL_0009:  ldc.i4.s   10
            //IL_000b:  beq.s      IL_0022

            //IL_000d:  ldarg.1
            //IL_000e:  ldc.i4.s   16
            //IL_0010:  beq.s      IL_0022

            //IL_0012:  ldstr      "Arg_InvalidBase"
            //IL_0017:  call       string System.Environment::GetResourceString(string)
            //IL_001c:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_0021:  throw

            //IL_0022:  ldarg.0
            //IL_0023:  ldarg.1
            //IL_0024:  ldc.i4     0x1200
            //IL_0029:  call       int32 System.ParseNumbers::StringToInt(string,
            //                                                            int32,
            //                                                            int32)
            //IL_002e:  stloc.0
            //IL_002f:  ldloc.0
            //IL_0030:  ldc.i4.0
            //IL_0031:  blt.s      IL_003b

            //IL_0033:  ldloc.0
            //IL_0034:  ldc.i4     0xffff
            //IL_0039:  ble.s      IL_004b

            //IL_003b:  ldstr      "Overflow_UInt16"
            //IL_0040:  call       string System.Environment::GetResourceString(string)
            //IL_0045:  newobj     instance void System.OverflowException::.ctor(string)
            //IL_004a:  throw

            //IL_004b:  ldloc.0
            //IL_004c:  conv.u2
            //IL_004d:  ret
            int V_0;
            if (fromBase == 2 || fromBase == 8 || fromBase == 10 || fromBase == 16)
            {
                //IL_0022
                V_0 = System.ParseNumbers.StringToInt(@value, fromBase, 0x1200);
                if (V_0 >=0 && V_0 <= 0xffff)
                {
                    return (ushort)V_0;
                }
                else
                {
                    
                   throw new System.OverflowException(System.Environment.GetResourceString("Overflow_UInt16"));
                   
                }
            }
            else
            {
                throw new System.ArgumentException(System.Environment.GetResourceString("Arg_InvalidBase"));
            }


        }

        public static int ToInt32(string @value, int fromBase)
        {
            // 代码大小       47 (0x2f)
            //.maxstack  8
            //IL_0000:  ldarg.1
            //IL_0001:  ldc.i4.2
            //IL_0002:  beq.s      IL_0022

            //IL_0004:  ldarg.1
            //IL_0005:  ldc.i4.8
            //IL_0006:  beq.s      IL_0022

            //IL_0008:  ldarg.1
            //IL_0009:  ldc.i4.s   10
            //IL_000b:  beq.s      IL_0022

            //IL_000d:  ldarg.1
            //IL_000e:  ldc.i4.s   16
            //IL_0010:  beq.s      IL_0022

            //IL_0012:  ldstr      "Arg_InvalidBase"
            //IL_0017:  call       string System.Environment::GetResourceString(string)
            //IL_001c:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_0021:  throw

            //IL_0022:  ldarg.0
            //IL_0023:  ldarg.1
            //IL_0024:  ldc.i4     0x1000
            //IL_0029:  call       int32 System.ParseNumbers::StringToInt(string,
            //                                                            int32,
            //                                                            int32)
            //IL_002e:  ret
            if (fromBase == 2 || fromBase == 8 || fromBase == 10 || fromBase == 16)
            {
                //IL_0022
                return System.ParseNumbers.StringToInt(@value, fromBase, 0x1000);
            }
            else
            {
                throw new System.ArgumentException(System.Environment.GetResourceString("Arg_InvalidBase"));
            }

        }
        [System.CLSCompliant(false)]
        public static uint ToUInt32(string @value, int fromBase)
        {
            // 代码大小       47 (0x2f)
            //.maxstack  8
            //IL_0000:  ldarg.1
            //IL_0001:  ldc.i4.2
            //IL_0002:  beq.s      IL_0022

            //IL_0004:  ldarg.1
            //IL_0005:  ldc.i4.8
            //IL_0006:  beq.s      IL_0022

            //IL_0008:  ldarg.1
            //IL_0009:  ldc.i4.s   10
            //IL_000b:  beq.s      IL_0022

            //IL_000d:  ldarg.1
            //IL_000e:  ldc.i4.s   16
            //IL_0010:  beq.s      IL_0022

            //IL_0012:  ldstr      "Arg_InvalidBase"
            //IL_0017:  call       string System.Environment::GetResourceString(string)
            //IL_001c:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_0021:  throw

            //IL_0022:  ldarg.0
            //IL_0023:  ldarg.1
            //IL_0024:  ldc.i4     0x1200
            //IL_0029:  call       int32 System.ParseNumbers::StringToInt(string,
            //                                                            int32,
            //                                                            int32)
            //IL_002e:  ret
            if (fromBase == 2 || fromBase == 8 || fromBase == 10 || fromBase == 16)
            {
                //IL_0022
                return System.ParseNumbers.StringToInt(@value, fromBase, 0x1200);
            }
            else
            {
                throw new System.ArgumentException(System.Environment.GetResourceString("Arg_InvalidBase"));
            }

        }

        public static long ToInt64(string @value, int fromBase)
        {
            // 代码大小       47 (0x2f)
            //.maxstack  8
            //IL_0000:  ldarg.1
            //IL_0001:  ldc.i4.2
            //IL_0002:  beq.s      IL_0022

            //IL_0004:  ldarg.1
            //IL_0005:  ldc.i4.8
            //IL_0006:  beq.s      IL_0022

            //IL_0008:  ldarg.1
            //IL_0009:  ldc.i4.s   10
            //IL_000b:  beq.s      IL_0022

            //IL_000d:  ldarg.1
            //IL_000e:  ldc.i4.s   16
            //IL_0010:  beq.s      IL_0022

            //IL_0012:  ldstr      "Arg_InvalidBase"
            //IL_0017:  call       string System.Environment::GetResourceString(string)
            //IL_001c:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_0021:  throw

            //IL_0022:  ldarg.0
            //IL_0023:  ldarg.1
            //IL_0024:  ldc.i4     0x1000
            //IL_0029:  call       int64 System.ParseNumbers::StringToLong(string,
            //                                                             int32,
            //                                                             int32)
            //IL_002e:  ret
            if (fromBase == 2 || fromBase == 8 || fromBase == 10 || fromBase == 16)
            {
                //IL_0022
                return System.ParseNumbers.StringToLong(@value, fromBase, 0x1000);
            }
            else
            {
                throw new System.ArgumentException(System.Environment.GetResourceString("Arg_InvalidBase"));
            }


        }
        [System.CLSCompliant(false)]
        public static ulong ToUInt64(string @value, int fromBase)
        {
            // 代码大小       47 (0x2f)
            //.maxstack  8
            //IL_0000:  ldarg.1
            //IL_0001:  ldc.i4.2
            //IL_0002:  beq.s      IL_0022

            //IL_0004:  ldarg.1
            //IL_0005:  ldc.i4.8
            //IL_0006:  beq.s      IL_0022

            //IL_0008:  ldarg.1
            //IL_0009:  ldc.i4.s   10
            //IL_000b:  beq.s      IL_0022

            //IL_000d:  ldarg.1
            //IL_000e:  ldc.i4.s   16
            //IL_0010:  beq.s      IL_0022

            //IL_0012:  ldstr      "Arg_InvalidBase"
            //IL_0017:  call       string System.Environment::GetResourceString(string)
            //IL_001c:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_0021:  throw

            //IL_0022:  ldarg.0
            //IL_0023:  ldarg.1
            //IL_0024:  ldc.i4     0x1200
            //IL_0029:  call       int64 System.ParseNumbers::StringToLong(string,
            //                                                             int32,
            //                                                             int32)
            //IL_002e:  ret
            if (fromBase == 2 || fromBase == 8 || fromBase == 10 || fromBase == 16)
            {
                //IL_0022
                return System.ParseNumbers.StringToLong(@value, fromBase, 0x1200);
            }
            else
            {
                throw new System.ArgumentException(System.Environment.GetResourceString("Arg_InvalidBase"));
            }


        }

        public static string ToString(byte @value, int toBase)
        {
            // 代码大小       47 (0x2f)
            //.maxstack  8
            //IL_0000:  ldarg.1
            //IL_0001:  ldc.i4.2
            //IL_0002:  beq.s      IL_0022

            //IL_0004:  ldarg.1
            //IL_0005:  ldc.i4.8
            //IL_0006:  beq.s      IL_0022

            //IL_0008:  ldarg.1
            //IL_0009:  ldc.i4.s   10
            //IL_000b:  beq.s      IL_0022

            //IL_000d:  ldarg.1
            //IL_000e:  ldc.i4.s   16
            //IL_0010:  beq.s      IL_0022

            //IL_0012:  ldstr      "Arg_InvalidBase"
            //IL_0017:  call       string System.Environment::GetResourceString(string)
            //IL_001c:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_0021:  throw

            //IL_0022:  ldarg.0
            //IL_0023:  ldarg.1
            //IL_0024:  ldc.i4.m1
            //IL_0025:  ldc.i4.s   32
            //IL_0027:  ldc.i4.s   64
            //IL_0029:  call       string System.ParseNumbers::IntToString(int32,
            //                                                             int32,
            //                                                             int32,
            //                                                             char,
            //                                                             int32)
            //IL_002e:  ret
            if (toBase == 2 || toBase == 8 || toBase == 10 || toBase == 16)
            {
                //IL_0022
                return System.ParseNumbers.IntToString(@value, toBase, -1, '\u0032', 64);
            }
            else
            {
                throw new System.ArgumentException(System.Environment.GetResourceString("Arg_InvalidBase"));
            }
        }

        public static string ToString(short @value, int toBase)
        {
            // 代码大小       50 (0x32)
            //.maxstack  8
            //IL_0000:  ldarg.1
            //IL_0001:  ldc.i4.2
            //IL_0002:  beq.s      IL_0022

            //IL_0004:  ldarg.1
            //IL_0005:  ldc.i4.8
            //IL_0006:  beq.s      IL_0022

            //IL_0008:  ldarg.1
            //IL_0009:  ldc.i4.s   10
            //IL_000b:  beq.s      IL_0022

            //IL_000d:  ldarg.1
            //IL_000e:  ldc.i4.s   16
            //IL_0010:  beq.s      IL_0022

            //IL_0012:  ldstr      "Arg_InvalidBase"
            //IL_0017:  call       string System.Environment::GetResourceString(string)
            //IL_001c:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_0021:  throw

            //IL_0022:  ldarg.0
            //IL_0023:  ldarg.1
            //IL_0024:  ldc.i4.m1
            //IL_0025:  ldc.i4.s   32
            //IL_0027:  ldc.i4     0x80
            //IL_002c:  call       string System.ParseNumbers::IntToString(int32,
            //                                                             int32,
            //                                                             int32,
            //                                                             char,
            //                                                             int32)
            //IL_0031:  ret
            if (toBase == 2 || toBase == 8 || toBase == 10 || toBase == 16)
            {
                //IL_0022
                return System.ParseNumbers.IntToString(@value, toBase, -1, '\u0032', 0x80);
            }
            else
            {
                throw new System.ArgumentException(System.Environment.GetResourceString("Arg_InvalidBase"));
            }

        }

        public static string ToString(int @value, int toBase)
        {
            // 代码大小       46 (0x2e)
            //.maxstack  8
            //IL_0000:  ldarg.1
            //IL_0001:  ldc.i4.2
            //IL_0002:  beq.s      IL_0022

            //IL_0004:  ldarg.1
            //IL_0005:  ldc.i4.8
            //IL_0006:  beq.s      IL_0022

            //IL_0008:  ldarg.1
            //IL_0009:  ldc.i4.s   10
            //IL_000b:  beq.s      IL_0022

            //IL_000d:  ldarg.1
            //IL_000e:  ldc.i4.s   16
            //IL_0010:  beq.s      IL_0022

            //IL_0012:  ldstr      "Arg_InvalidBase"
            //IL_0017:  call       string System.Environment::GetResourceString(string)
            //IL_001c:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_0021:  throw

            //IL_0022:  ldarg.0
            //IL_0023:  ldarg.1
            //IL_0024:  ldc.i4.m1
            //IL_0025:  ldc.i4.s   32
            //IL_0027:  ldc.i4.0
            //IL_0028:  call       string System.ParseNumbers::IntToString(int32,
            //                                                             int32,
            //                                                             int32,
            //                                                             char,
            //                                                             int32)
            //IL_002d:  ret
            if (toBase == 2 || toBase == 8 || toBase == 10 || toBase == 16)
            {
                //IL_0022
                return System.ParseNumbers.IntToString(@value, toBase, -1, '\u0032', 0);
            }
            else
            {
                throw new System.ArgumentException(System.Environment.GetResourceString("Arg_InvalidBase"));
            }


        }

        public static string ToString(long @value, int toBase)
        {
            // 代码大小       46 (0x2e)
            //.maxstack  8
            //IL_0000:  ldarg.1
            //IL_0001:  ldc.i4.2
            //IL_0002:  beq.s      IL_0022

            //IL_0004:  ldarg.1
            //IL_0005:  ldc.i4.8
            //IL_0006:  beq.s      IL_0022

            //IL_0008:  ldarg.1
            //IL_0009:  ldc.i4.s   10
            //IL_000b:  beq.s      IL_0022

            //IL_000d:  ldarg.1
            //IL_000e:  ldc.i4.s   16
            //IL_0010:  beq.s      IL_0022

            //IL_0012:  ldstr      "Arg_InvalidBase"
            //IL_0017:  call       string System.Environment::GetResourceString(string)
            //IL_001c:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_0021:  throw

            //IL_0022:  ldarg.0
            //IL_0023:  ldarg.1
            //IL_0024:  ldc.i4.m1
            //IL_0025:  ldc.i4.s   32
            //IL_0027:  ldc.i4.0
            //IL_0028:  call       string System.ParseNumbers::LongToString(int64,
            //                                                              int32,
            //                                                              int32,
            //                                                              char,
            //                                                              int32)
            //IL_002d:  ret
            if (toBase == 2 || toBase == 8 || toBase == 10 || toBase == 16)
            {
                //IL_0022
                return System.ParseNumbers.IntToString(@value, toBase, -1, '\u0032', 0);
            }
            else
            {
                throw new System.ArgumentException(System.Environment.GetResourceString("Arg_InvalidBase"));
            }


        }

        public static string ToBase64String(byte[] inArray)
        {
            // 代码大小       26 (0x1a)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_000e

            //IL_0003:  ldstr      "inArray"
            //IL_0008:  newobj     instance void System.ArgumentNullException::.ctor(string)
            //IL_000d:  throw

            //IL_000e:  ldarg.0
            //IL_000f:  ldc.i4.0
            //IL_0010:  ldarg.0
            //IL_0011:  ldlen
            //IL_0012:  conv.i4
            //IL_0013:  ldc.i4.0
            //IL_0014:  call       string System.Convert::ToBase64String(uint8[],
            //                                                           int32,
            //                                                           int32,
            //                                                           valuetype System.Base64FormattingOptions)
            //IL_0019:  ret
            if (inArray == null)
            {
                throw new System.ArgumentNullException("inArray");
            }
            else
            {
                return System.Convert.ToBase64String(inArray,0,inArray.Length,System.Base64FormattingOptions.None);
            }



        }
        [System.Runtime.InteropServices.ComVisible(false)]
        public static string ToBase64String(byte[] inArray, System.Base64FormattingOptions options)
        {
            // 代码大小       26 (0x1a)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  brtrue.s   IL_000e

            //IL_0003:  ldstr      "inArray"
            //IL_0008:  newobj     instance void System.ArgumentNullException::.ctor(string)
            //IL_000d:  throw

            //IL_000e:  ldarg.0
            //IL_000f:  ldc.i4.0
            //IL_0010:  ldarg.0
            //IL_0011:  ldlen
            //IL_0012:  conv.i4
            //IL_0013:  ldarg.1
            //IL_0014:  call       string System.Convert::ToBase64String(uint8[],
            //                                                           int32,
            //                                                           int32,
            //                                                           valuetype System.Base64FormattingOptions)
            //IL_0019:  ret
            if (inArray == null)
            {
                throw new System.ArgumentNullException("inArray");
            }
            else
            {
                return System.Convert.ToBase64String(inArray, 0, inArray.Length, options);
            }

        }

        public static string ToBase64String(byte[] inArray, int offset, int length)
        {
            // 代码大小       10 (0xa)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldarg.1
            //IL_0002:  ldarg.2
            //IL_0003:  ldc.i4.0
            //IL_0004:  call       string System.Convert::ToBase64String(uint8[],
            //                                                           int32,
            //                                                           int32,
            //                                                           valuetype System.Base64FormattingOptions)
            //IL_0009:  ret
            return System.Convert.ToBase64String(inArray, offset, length, System.Base64FormattingOptions.None);
        }
        [System.Runtime.InteropServices.ComVisible(false)]
        public static string ToBase64String(byte[] inArray, int offset, int length, System.Base64FormattingOptions options)
        {
            // 代码大小       249 (0xf9)
            //.maxstack  5
            //.locals init (int32 V_0,                     
            //         int32 V_1,
            //         bool V_2,
            //         string V_3,
            //         char* V_4,
            //         uint8& pinned V_5,
            //         int32 V_6,
            //         string V_7,
            //         object[] V_8,
            //         string pinned V_9,
            //         uint8[] V_10)
            //IL_0000:  ldarg.0                              
            //IL_0001:  brtrue.s   IL_000e

            //IL_0003:  ldstr      "inArray"
            //IL_0008:  newobj     instance void System.ArgumentNullException::.ctor(string)
            //IL_000d:  throw

            //IL_000e:  ldarg.2
            //IL_000f:  ldc.i4.0
            //IL_0010:  bge.s      IL_0027

            //IL_0012:  ldstr      "length"
            //IL_0017:  ldstr      "ArgumentOutOfRange_Index"
            //IL_001c:  call       string System.Environment::GetResourceString(string)
            //IL_0021:  newobj     instance void System.ArgumentOutOfRangeException::.ctor(string,
            //                                                                             string)
            //IL_0026:  throw

            //IL_0027:  ldarg.1
            //IL_0028:  ldc.i4.0
            //IL_0029:  bge.s      IL_0040

            //IL_002b:  ldstr      "offset"
            //IL_0030:  ldstr      "ArgumentOutOfRange_GenericPositive"
            //IL_0035:  call       string System.Environment::GetResourceString(string)
            //IL_003a:  newobj     instance void System.ArgumentOutOfRangeException::.ctor(string,
            //                                                                             string)
            //IL_003f:  throw

            //IL_0040:  ldarg.0                  
            //IL_0041:  ldlen
            //IL_0042:  conv.i4
            //IL_0043:  stloc.0
            //IL_0044:  ldarg.1
            //IL_0045:  ldloc.0
            //IL_0046:  ldarg.2
            //IL_0047:  sub
            //IL_0048:  ble.s      IL_005f

            //IL_004a:  ldstr      "offset"
            //IL_004f:  ldstr      "ArgumentOutOfRange_OffsetLength"
            //IL_0054:  call       string System.Environment::GetResourceString(string)
            //IL_0059:  newobj     instance void System.ArgumentOutOfRangeException::.ctor(string,
            //                                                                             string)
            //IL_005e:  throw

            //IL_005f:  ldarg.3                         
            //IL_0060:  ldc.i4.0
            //IL_0061:  blt.s      IL_0067

            //IL_0063:  ldarg.3
            //IL_0064:  ldc.i4.1
            //IL_0065:  ble.s      IL_008b

            //IL_0067:  ldstr      "Arg_EnumIllegalVal"              
            //IL_006c:  ldc.i4.1
            //IL_006d:  newarr     System.Object
            //IL_0072:  stloc.s    V_8
            //IL_0074:  ldloc.s    V_8
            //IL_0076:  ldc.i4.0
            //IL_0077:  ldarg.3
            //IL_0078:  box        System.Int32
            //IL_007d:  stelem.ref
            //IL_007e:  ldloc.s    V_8
            //IL_0080:  call       string System.Environment::GetResourceString(string,
            //                                                                  object[])
            //IL_0085:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_008a:  throw

            //IL_008b:  ldloc.0                 
            //IL_008c:  brtrue.s   IL_0094

            //IL_008e:  ldsfld     string System.String::Empty
            //IL_0093:  ret

            //IL_0094:  ldarg.3
            //IL_0095:  ldc.i4.1
            //IL_0096:  ceq
            //IL_0098:  stloc.2
            //IL_0099:  ldarg.2
            //IL_009a:  ldloc.2
            //IL_009b:  call       int32 System.Convert::CalculateOutputLength(int32,
            //                                                                 bool)
            //IL_00a0:  stloc.1
            //IL_00a1:  ldsfld     string System.String::Empty                      
            //IL_00a6:  ldloc.1
            //IL_00a7:  call       string System.String::GetStringForStringBuider(string,
            //                                                                     int32)
            //IL_00ac:  stloc.3
            //IL_00ad:  ldloc.3
            //IL_00ae:  stloc.s    V_9
            //IL_00b0:  ldloc.s    V_9                                  
            //IL_00b2:  conv.i
            //IL_00b3:  dup
            //IL_00b4:  brfalse.s  IL_00bc

            //IL_00b6:  call       int32 System.Runtime.CompilerServices.RuntimeHelpers::get_OffsetToStringData()
            //IL_00bb:  add
            //IL_00bc:  stloc.s    V_4
            //IL_00be:  ldarg.0                                       
            //IL_00bf:  dup
            //IL_00c0:  stloc.s    V_10
            //IL_00c2:  brfalse.s  IL_00ca

            //IL_00c4:  ldloc.s    V_10
            //IL_00c6:  ldlen
            //IL_00c7:  conv.i4
            //IL_00c8:  brtrue.s   IL_00d0

            //IL_00ca:  ldc.i4.0              
            //IL_00cb:  conv.u
            //IL_00cc:  stloc.s    V_5
            //IL_00ce:  br.s       IL_00da

            //IL_00d0:  ldloc.s    V_10                         
            //IL_00d2:  ldc.i4.0
            //IL_00d3:  ldelema    System.Byte
            //IL_00d8:  stloc.s    V_5
            //IL_00da:  ldloc.s    V_4
            //IL_00dc:  ldloc.s    V_5
            //IL_00de:  conv.i
            //IL_00df:  ldarg.1
            //IL_00e0:  ldarg.2
            //IL_00e1:  ldloc.2
            //IL_00e2:  call       int32 System.Convert::ConvertToBase64Array(char*,
            //                                                                uint8*,
            //                                                                int32,
            //                                                                int32,
            //                                                                bool)
            //IL_00e7:  stloc.s    V_6
            //IL_00e9:  ldloc.3                       
            //IL_00ea:  ldloc.s    V_6
            //IL_00ec:  callvirt   instance void System.String::SetLength(int32)
            //IL_00f1:  ldloc.3
            //IL_00f2:  stloc.s    V_7
            //IL_00f4:  leave.s    IL_00f6

            //IL_00f6:  ldloc.s    V_7
            //IL_00f8:  ret
            int V_0,V_1;
            bool V_2; 
            string V_3;
            char* V_4;             
            int V_6;
            string V_7;
            object[] V_8;             
            byte[] V_10;
            if(inArray==null)
            {
                throw new System.ArgumentNullException("inArray");
            }
            else
            {
                if(length>=0)
                {
                    //IL_0040
                    V_0=inArray.Length;
                    if(offset<=(V_0-length))
                    {
                        //IL_005f
                        if(options>=System.Base64FormattingOptions.None&&options<=System.Base64FormattingOptions.InsertLineBreaks)
                        {
                            //IL_008b
                            if(V_0==0)
                            {
                                V_2=options==System.Base64FormattingOptions.InsertLineBreaks;
                                V_1=System.Convert.CalculateOutputLength(length,V_2);
                                //IL_00a1
                                V_3=string.GetStringForStringBuilder(string.Empty,V_1);
                                fixed(string V_9=V_3)
                                {
                                    //IL_00b0
                                    V_4=&V_9==0?&V_9:&V_9+System.Runtime.CompilerServices.RuntimeHelpers.OffsetToStringData;
                                    //IL_00be
                                    V_10=inArray;                                    
                                    fixed(byte* V_5=V_0!=null&&V_10.Length!=0?V_10[0]:0)
                                    {
                                        V_6=System.Convet.ConvertToBase64Array(V_4,V_5,offset,length,V_2);
                                        //IL_00e9
                                        V_6.SetLength(V_3);
                                        V_7=V_3;
                                        return V_7;
                                    }
                                    
                                }
                                
                            }
                            else
                            {
                                return string.Empty;
                            }
                        }
                        else
                        {
                            //IL_0067
                            V_8=new object[1];
                            V_8[0]=(object)options;
                            throw new System.ArgumentException(System.Environment.GetResourceString("Arg_EnumIllegalVal",V_8));
                        }
                    }
                    else
                    {
                        throw new System.ArgumentOutOfRangeException("offset",System.Environment.GetResourceString("ArgumentOutOfRange_OffsetLength"));
                    }
                }
                else
                {
                    throw new System.ArgumentOutOfRangeException("offset",System.Environment.GetResourceString("ArgumentOutOfRange_GenericPositive"));
                }
            }
        }

        public static int ToBase64CharArray(byte[] inArray, int offsetIn, int length, char[] outArray, int offsetOut)
        {
            // 代码大小       13 (0xd)
            //.maxstack  8
            //IL_0000:  ldarg.0
            //IL_0001:  ldarg.1
            //IL_0002:  ldarg.2
            //IL_0003:  ldarg.3
            //IL_0004:  ldarg.s    offsetOut
            //IL_0006:  ldc.i4.0
            //IL_0007:  call       int32 System.Convert::ToBase64CharArray(uint8[],
            //                                                             int32,
            //                                                             int32,
            //                                                             char[],
            //                                                             int32,
            //                                                             valuetype System.Base64FormattingOptions)
            //IL_000c:  ret
            return System.Convert.ToBase64CharArray(inArray, offsetIn, length, outArray, offsetOut, System.Base64FormattingOptions.None);
        }
        [System.Runtime.InteropServices.ComVisible(false)]
        public static int ToBase64CharArray(byte[] inArray, int offsetIn, int length, char[] outArray, int offsetOut, System.Base64FormattingOptions options)
        {
            // 代码大小       299 (0x12b)
            //.maxstack  5
            //.locals init (int32 V_0,                                      
            //         int32 V_1,
            //         int32 V_2,
            //         int32 V_3,
            //         bool V_4,
            //         char& pinned V_5,
            //         uint8& pinned V_6,
            //         object[] V_7,
            //         uint8[] V_8)
            //IL_0000:  ldarg.0                           
            //IL_0001:  brtrue.s   IL_000e

            //IL_0003:  ldstr      "inArray"
            //IL_0008:  newobj     instance void System.ArgumentNullException::.ctor(string)
            //IL_000d:  throw

            //IL_000e:  ldarg.3
            //IL_000f:  brtrue.s   IL_001c

            //IL_0011:  ldstr      "outArray"
            //IL_0016:  newobj     instance void System.ArgumentNullException::.ctor(string)
            //IL_001b:  throw

            //IL_001c:  ldarg.2               
            //IL_001d:  ldc.i4.0
            //IL_001e:  bge.s      IL_0035

            //IL_0020:  ldstr      "length"
            //IL_0025:  ldstr      "ArgumentOutOfRange_Index"
            //IL_002a:  call       string System.Environment::GetResourceString(string)
            //IL_002f:  newobj     instance void System.ArgumentOutOfRangeException::.ctor(string,
            //                                                                             string)
            //IL_0034:  throw

            //IL_0035:  ldarg.1
            //IL_0036:  ldc.i4.0
            //IL_0037:  bge.s      IL_004e

            //IL_0039:  ldstr      "offsetIn"
            //IL_003e:  ldstr      "ArgumentOutOfRange_GenericPositive"
            //IL_0043:  call       string System.Environment::GetResourceString(string)
            //IL_0048:  newobj     instance void System.ArgumentOutOfRangeException::.ctor(string,
            //                                                                             string)
            //IL_004d:  throw

            //IL_004e:  ldarg.s    offsetOut                     
            //IL_0050:  ldc.i4.0
            //IL_0051:  bge.s      IL_0068

            //IL_0053:  ldstr      "offsetOut"
            //IL_0058:  ldstr      "ArgumentOutOfRange_GenericPositive"
            //IL_005d:  call       string System.Environment::GetResourceString(string)
            //IL_0062:  newobj     instance void System.ArgumentOutOfRangeException::.ctor(string,
            //                                                                             string)
            //IL_0067:  throw

            //IL_0068:  ldarg.s    options                   
            //IL_006a:  ldc.i4.0
            //IL_006b:  blt.s      IL_0072

            //IL_006d:  ldarg.s    options
            //IL_006f:  ldc.i4.1
            //IL_0070:  ble.s      IL_0097

            //IL_0072:  ldstr      "Arg_EnumIllegalVal"             
            //IL_0077:  ldc.i4.1
            //IL_0078:  newarr     System.Object
            //IL_007d:  stloc.s    V_7
            //IL_007f:  ldloc.s    V_7
            //IL_0081:  ldc.i4.0
            //IL_0082:  ldarg.s    options
            //IL_0084:  box        System.Int32
            //IL_0089:  stelem.ref
            //IL_008a:  ldloc.s    V_7
            //IL_008c:  call       string System.Environment::GetResourceString(string,
            //                                                                  object[])
            //IL_0091:  newobj     instance void System.ArgumentException::.ctor(string)
            //IL_0096:  throw

            //IL_0097:  ldarg.0                   
            //IL_0098:  ldlen
            //IL_0099:  conv.i4
            //IL_009a:  stloc.1
            //IL_009b:  ldarg.1
            //IL_009c:  ldloc.1
            //IL_009d:  ldarg.2
            //IL_009e:  sub
            //IL_009f:  ble.s      IL_00b6

            //IL_00a1:  ldstr      "offsetIn"
            //IL_00a6:  ldstr      "ArgumentOutOfRange_OffsetLength"
            //IL_00ab:  call       string System.Environment::GetResourceString(string)
            //IL_00b0:  newobj     instance void System.ArgumentOutOfRangeException::.ctor(string,
            //                                                                             string)
            //IL_00b5:  throw

            //IL_00b6:  ldloc.1               
            //IL_00b7:  brtrue.s   IL_00bb

            //IL_00b9:  ldc.i4.0
            //IL_00ba:  ret

            //IL_00bb:  ldarg.s    options
            //IL_00bd:  ldc.i4.1
            //IL_00be:  ceq
            //IL_00c0:  stloc.s    V_4
            //IL_00c2:  ldarg.3
            //IL_00c3:  ldlen
            //IL_00c4:  conv.i4
            //IL_00c5:  stloc.2
            //IL_00c6:  ldarg.2
            //IL_00c7:  ldloc.s    V_4
            //IL_00c9:  call       int32 System.Convert::CalculateOutputLength(int32,
            //                                                                 bool)
            //IL_00ce:  stloc.3
            //IL_00cf:  ldarg.s    offsetOut               
            //IL_00d1:  ldloc.2
            //IL_00d2:  ldloc.3
            //IL_00d3:  sub
            //IL_00d:  ble.s      IL_00eb

            //IL_00d6:  ldstr      "offsetOut"
            //IL_00db:  ldstr      "ArgumentOutOfRange_OffsetOut"
            //IL_00e0:  call       string System.Environment::GetResourceString(string)
            //IL_00e5:  newobj     instance void System.ArgumentOutOfRangeException::.ctor(string,
            //                                                                             string)
            //IL_00ea:  throw

            //IL_00eb:  ldarg.3                           
            //IL_00ec:  ldarg.s    offsetOut
            //IL_00ee:  ldelema    System.Char
            //IL_00f3:  stloc.s    V_5
            //IL_00f5:  ldarg.0
            //IL_00f6:  dup
            //IL_00f7:  stloc.s    V_8
            //IL_00f9:  brfalse.s  IL_0101

            //IL_00fb:  ldloc.s    V_8
            //IL_00fd:  ldlen
            //IL_00fe:  conv.i4
            //IL_00ff:  brtrue.s   IL_0107

            //IL_0101:  ldc.i4.0        
            //IL_0102:  conv.u
            //IL_0103:  stloc.s    V_6
            //IL_0105:  br.s       IL_0111

            //IL_0107:  ldloc.s    V_8
            //IL_0109:  ldc.i4.0
            //IL_010a:  ldelema    System.Byte
            //IL_010f:  stloc.s    V_6
            //IL_0111:  ldloc.s    V_5                   
            //IL_0113:  conv.i
            //IL_0114:  ldloc.s    V_6
            //IL_0116:  conv.i
            //IL_0117:  ldarg.1
            //IL_0118:  ldarg.2
            //IL_0119:  ldloc.s    V_4
            //IL_011b:  call       int32 System.Convert::ConvertToBase64Array(char*,
            //                                                                uint8*,
            //                                                                int32,
            //                                                                int32,
            //                                                                bool)
            //IL_0120:  stloc.0
            //IL_0121:  ldc.i4.0            
            //IL_0122:  conv.u
            //IL_0123:  stloc.s    V_6
            //IL_0125:  ldc.i4.0
            //IL_0126:  conv.u
            //IL_0127:  stloc.s    V_5
            //IL_0129:  ldloc.0
            //IL_012a:  ret
            int V_0,V_1,V_2,V_3;
            bool V_4;
             
             
            object[] V_7; 
            byte[] V_8;
            if(inArray==null)
            {
                throw new System.ArgumentNullException("inArray");
            }
            else
            {
                if(outArray==null)
                {
                    throw new System.ArgumentNullException("outArray");
                }
                else
                {
                    //IL_001c
                    if(length>=0)
                    {
                        if(offsetIn>=0)
                        {
                            //IL_004e
                            if(offsetOut>=0)
                            {
                                //IL_0068
                                if(options>=Base64FormattingOptions.None&&options<=Base64FormattingOptions.InsertLineBreaks)
                                {
                                    //IL_0097
                                    V_1=inArray.Length;
                                    if(offsetIn<=V_1-length)
                                    {
                                        //IL_00b6
                                        if(V_1==0)
                                        {
                                            return 0;
                                        }
                                        else
                                        {
                                            V_4=options==Base64FormattingOptions.InsertLineBreaks;
                                            V_2=outArray.Length;
                                            V_3=System.Convert.CalculateOutputLength(length,V_4);
                                           //IL_00cf
                                            if(offsetOut<=(V_2-V_3))
                                            {
                                                //IL_00eb
                                                fixed(char* V_5=outArray[offsetOut])
                                                {
                                                    V_8=inArray;   
                                                    fixed(byte* V_6=V_8!=null&&V_8.Length!=0?V_8[0]:null)
                                                    {
                                                        V_0=System.Convert.ConvertToBase64Array(V_5,V_6,offsetIn,length,V_4);
                                                        V_6=null;
                                                        V_5=null;
                                                        return V_0;
                                                    }                                                    

                                                }
                                                
                                                
                                            }
                                            else
                                            {
                                                throw new System.ArgumentOutOfRangeException("offsetOut",System.Environment.GetResourceString("ArgumentOutOfRange_OffsetOut"));
                                            }
                                        }
                                    }
                                    else
                                    {
                                        throw new System.ArgumentOutOfRangeException("offsetIn",System.Environment.GetResourceString("ArgumentOutOfRange_OffsetLength"));
                                    }
                                }
                                else
                                {
                                    V_7=new object[1];V_7[0]=(object)options;throw new System.ArgumentException(System.Environment.GetResourceString("Arg_EnumIllegalVal",V_7));
                                }
                                
                            }
                            else
                            {
                                throw new System.ArgumentOutOfRangeException("offsetOut",System.Environment.GetResourceString("ArgumentOutOfRange_GenericPositive")); 
                            }
                        }
                        else
                        {
                            throw new System.ArgumentOutOfRangeException("offsetIn",System.Environment.GetResourceString("ArgumentOutOfRange_GenericPositive")); 
                        }
                    }
                    else
                    {
                        throw new System.ArgumentOutOfRangeException("length",System.Environment.GetResourceString("ArgumentOutOfRange_Index"));
                    }
                }
            }

        }

        private static int ConvertToBase64Array(char* outChars, byte* inData, int offset, int length, bool insertLineBreaks)
        {
            // 代码大小       550 (0x226)
            //.maxstack  6
            //.locals init (int32 V_0,                          
            //         int32 V_1,
            //         int32 V_2,
            //         int32 V_3,
            //         int32 V_4,
            //         char& pinned V_5,
            //         char[] V_6,
            //         int32 V_7)
            //IL_0000:  ldarg.3                       
            //IL_0001:  ldc.i4.3
            //IL_0002:  rem
            //IL_0003:  stloc.0
            //IL_0004:  ldarg.2
            //IL_0005:  ldarg.3
            //IL_0006:  ldloc.0
            //IL_0007:  sub
            //IL_0008:  add
            //IL_0009:  stloc.1
            //IL_000a:  ldc.i4.0
            //IL_000b:  stloc.2
            //IL_000c:  ldc.i4.0
            //IL_000d:  stloc.3
            //IL_000e:  ldsfld     char[] System.Convert::base64Table
            //IL_0013:  dup
            //IL_0014:  stloc.s    V_6
            //IL_0016:  brfalse.s  IL_001e

            //IL_0018:  ldloc.s    V_6
            //IL_001a:  ldlen
            //IL_001b:  conv.i4
            //IL_001c:  brtrue.s   IL_0024

            //IL_001e:  ldc.i4.0           
            //IL_001f:  conv.u
            //IL_0020:  stloc.s    V_5
            //IL_0022:  br.s       IL_002e

            //IL_0024:  ldloc.s    V_6                
            //IL_0026:  ldc.i4.0
            //IL_0027:  ldelema    System.Char
            //IL_002c:  stloc.s    V_5
            //IL_002e:  ldarg.2                
            //IL_002f:  stloc.s    V_4
            //IL_0031:  br         IL_00f7

            //IL_0036:  ldarg.s    insertLineBreaks                 
            //IL_0038:  brfalse.s  IL_005f

            //IL_003a:  ldloc.3
            //IL_003b:  ldc.i4.s   76
            //IL_003d:  bne.un.s   IL_005b

            //IL_003f:  ldarg.0
            //IL_0040:  ldloc.2
            //IL_0041:  dup
            //IL_0042:  ldc.i4.1
            //IL_0043:  add
            //IL_0044:  stloc.2
            //IL_0045:  conv.i
            //IL_0046:  ldc.i4.2
            //IL_0047:  mul
            //IL_0048:  add
            //IL_0049:  ldc.i4.s   13
            //IL_004b:  stind.i2
            //IL_004c:  ldarg.0
            //IL_004d:  ldloc.2
            //IL_004e:  dup
            //IL_004f:  ldc.i4.1
            //IL_0050:  add
            //IL_0051:  stloc.2
            //IL_0052:  conv.i
            //IL_0053:  ldc.i4.2
            //IL_0054:  mul
            //IL_0055:  add
            //IL_0056:  ldc.i4.s   10
            //IL_0058:  stind.i2
            //IL_0059:  ldc.i4.0               
            //IL_005a:  stloc.3
            //IL_005b:  ldloc.3
            //IL_005c:  ldc.i4.4
            //IL_005d:  add
            //IL_005e:  stloc.3
            //IL_005f:  ldarg.0            
            //IL_0060:  ldloc.2
            //IL_0061:  conv.i
            //IL_0062:  ldc.i4.2
            //IL_0063:  mul
            //IL_0064:  add
            //IL_0065:  ldloc.s    V_5
            //IL_0067:  conv.i
            //IL_0068:  ldarg.1
            //IL_0069:  ldloc.s    V_4
            //IL_006b:  add
            //IL_006c:  ldind.u1
            //IL_006d:  ldc.i4     0xfc
            //IL_0072:  and
            //IL_0073:  ldc.i4.2
            //IL_0074:  shr
            //IL_0075:  conv.i
            //IL_0076:  ldc.i4.2
            //IL_0077:  mul
            //IL_0078:  add
            //IL_0079:  ldind.u2
            //IL_007a:  stind.i2
            //IL_007b:  ldarg.0                  
            //IL_007c:  ldloc.2
            //IL_007d:  ldc.i4.1
            //IL_007e:  add
            //IL_007f:  conv.i
            //IL_0080:  ldc.i4.2
            //IL_0081:  mul
            //IL_0082:  add
            //IL_0083:  ldloc.s    V_5
            //IL_0085:  conv.i
            //IL_0086:  ldarg.1
            //IL_0087:  ldloc.s    V_4
            //IL_0089:  add
            //IL_008a:  ldind.u1
            //IL_008b:  ldc.i4.3
            //IL_008c:  and
            //IL_008d:  ldc.i4.4
            //IL_008e:  shl
            //IL_008f:  ldarg.1
            //IL_0090:  ldloc.s    V_4
            //IL_0092:  ldc.i4.1
            //IL_0093:  add
            //IL_0094:  add
            //IL_0095:  ldind.u1
            //IL_0096:  ldc.i4     0xf0
            //IL_009b:  and
            //IL_009c:  ldc.i4.4
            //IL_009d:  shr
            //IL_009e:  or
            //IL_009f:  conv.i
            //IL_00a0:  ldc.i4.2
            //IL_00a1:  mul
            //IL_00a2:  add
            //IL_00a3:  ldind.u2
            //IL_00a4:  stind.i2
            //IL_00a5:  ldarg.0          
            //IL_00a6:  ldloc.2
            //IL_00a7:  ldc.i4.2
            //IL_00a8:  add
           //IL_00a9:  conv.i
            //IL_00aa:  ldc.i4.2
            //IL_00ab:  mul
            //IL_00ac:  add
            //IL_00ad:  ldloc.s    V_5
            //IL_00af:  conv.i
            //IL_00b0:  ldarg.1
            //IL_00b1:  ldloc.s    V_4
            //IL_00b3:  ldc.i4.1
            //IL_00b4:  add
            //IL_00b5:  add
            //IL_00b6:  ldind.u1
            //IL_00b7:  ldc.i4.s   15
            //IL_00b9:  and
            //IL_00ba:  ldc.i4.2
            //IL_00bb:  shl
            //IL_00bc:  ldarg.1
            //IL_00bd:  ldloc.s    V_4
            //IL_00bf:  ldc.i4.2
            //IL_00c0:  add
            //IL_00c1:  add
            //IL_00c2:  ldind.u1
            //IL_00c3:  ldc.i4     0xc0
            //IL_00c8:  and
            //IL_00c9:  ldc.i4.6
            //IL_00ca:  shr
            //IL_00cb:  or
            //IL_00cc:  conv.i
            //IL_00cd:  ldc.i4.2
            //IL_00ce:  mul
            //IL_00cf:  add
            //IL_00d0:  ldind.u2
            //IL_00d1:  stind.i2
            //IL_00d2:  ldarg.0                   
            //IL_00d3:  ldloc.2
            //IL_00d4:  ldc.i4.3
            //IL_00d5:  add
            //IL_00d6:  conv.i
            //IL_00d7:  ldc.i4.2
            //IL_00d8:  mul
            //IL_00d9:  add
            //IL_00da:  ldloc.s    V_5
            //IL_00dc:  conv.i
            //IL_00dd:  ldarg.1
            //IL_00de:  ldloc.s    V_4
            //IL_00e0:  ldc.i4.2
            //IL_00e1:  add
            //IL_00e2:  add
            //IL_00e3:  ldind.u1
            //IL_00e4:  ldc.i4.s   63
            //IL_00e6:  and
            //IL_00e7:  conv.i
            //IL_00e8:  ldc.i4.2
            //IL_00e9:  mul
            //IL_00ea:  add
            //IL_00eb:  ldind.u2
            //IL_00ec:  stind.i2
            //IL_00ed:  ldloc.2             
            //IL_00ee:  ldc.i4.4
            //IL_00ef:  add
            //IL_00f0:  stloc.2
            //IL_00f1:  ldloc.s    V_4
            //IL_00f3:  ldc.i4.3
            //IL_00f4:  add
            //IL_00f5:  stloc.s    V_4
            //IL_00f7:  ldloc.s    V_4                   
            //IL_00f9:  ldloc.1
            //IL_00fa:  blt        IL_0036

            //IL_00ff:  ldloc.1                   
            //IL_0100:  stloc.s    V_4
            //IL_0102:  ldarg.s    insertLineBreaks
            //IL_0104:  brfalse.s  IL_0128

            //IL_0106:  ldloc.0
            //IL_0107:  brfalse.s  IL_0128

            //IL_0109:  ldloc.3
            //IL_010a:  ldc.i4.s   76
            //IL_010c:  bne.un.s   IL_0128

            //IL_010e:  ldarg.0               
            //IL_010f:  ldloc.2
            //IL_0110:  dup
            //IL_0111:  ldc.i4.1
            //IL_0112:  add
            //IL_0113:  stloc.2
            //IL_0114:  conv.i
            //IL_0115:  ldc.i4.2
            //IL_0116:  mul
            //IL_0117:  add
            //IL_0118:  ldc.i4.s   13
            //IL_011a:  stind.i2
            //IL_011b:  ldarg.0
            //IL_011c:  ldloc.2
            //IL_011d:  dup
            //IL_011e:  ldc.i4.1
            //IL_011f:  add
            //IL_0120:  stloc.2
            //IL_0121:  conv.i
            //IL_0122:  ldc.i4.2
            //IL_0123:  mul
            //IL_0124:  add
            //IL_0125:  ldc.i4.s   10
            //IL_0127:  stind.i2
            //IL_0128:  ldloc.0                    
            //IL_0129:  stloc.s    V_7
            //IL_012b:  ldloc.s    V_7
            //IL_012d:  ldc.i4.1
            //IL_012e:  sub
            //IL_012f:  switch     ( 
            //                      IL_01be,
            //                      IL_0141)
            //IL_013c:  br         IL_0220

            //IL_0141:  ldarg.0                
            //IL_0142:  ldloc.2
            //IL_0143:  conv.i
            //IL_0144:  ldc.i4.2
            //IL_0145:  mul
            //IL_0146:  add
            //IL_0147:  ldloc.s   V_5
            //IL_0149:  conv.i
            //IL_014a:  ldarg.1
            //IL_014b:  ldloc.s    V_4
            //IL_014d:  add
            //IL_014e:  ldind.u1
            //IL_014f:  ldc.i4     0xfc
            //IL_0154:  and
            //IL_0155:  ldc.i4.2
            //IL_0156:  shr
            //IL_0157:  conv.i
            //IL_0158:  ldc.i4.2
            //IL_0159:  mul
            //IL_015a:  add
            //IL_015b:  ldind.u2
            //IL_015c:  stind.i2
            //IL_015d:  ldarg.0                    
            //IL_015e:  ldloc.2
            //IL_015f:  ldc.i4.1
            //IL_0160:  add
            //IL_0161:  conv.i
            //IL_0162:  ldc.i4.2
            //IL_0163:  mul
            //IL_0164:  add
            //IL_0165:  ldloc.s    V_5
            //IL_0167:  conv.i
            //IL_0168:  ldarg.1
            //IL_0169:  ldloc.s    V_4
            //IL_016b:  add
            //IL_016c:  ldind.u1
            //IL_016d:  ldc.i4.3
            //IL_016e:  and
            //IL_016f:  ldc.i4.4
            //IL_0170:  shl
            //IL_0171:  ldarg.1
            //IL_0172:  ldloc.s    V_4
            //IL_0174:  ldc.i4.1
            //IL_0175:  add
            //IL_0176:  add
            //IL_0177:  ldind.u1
            //IL_0178:  ldc.i4     0xf0
            //IL_017d:  and
            //IL_017e:  ldc.i4.4
            //IL_017f:  shr
            //IL_0180:  or
            //IL_0181:  conv.i
            //IL_0182:  ldc.i4.2
            //IL_0183:  mul
            //IL_0184:  add
            //IL_0185:  ldind.u2
            //IL_0186:  stind.i2
            //IL_0187:  ldarg.0                        
            //IL_0188:  ldloc.2
            //IL_0189:  ldc.i4.2
            //IL_018a:  add
            //IL_018b:  conv.i
            //IL_018c:  ldc.i4.2
            //IL_018d:  mul
            //IL_018e:  add
            //IL_018f:  ldloc.s    V_5
            //IL_0191:  conv.i
            //IL_0192:  ldarg.1
            //IL_0193:  ldloc.s    V_4
            //IL_0195:  ldc.i4.1
            //IL_0196:  add
            //IL_0197:  add
            //IL_0198:  ldind.u1
            //IL_0199:  ldc.i4.s   15
            //IL_019b:  and
            //IL_019c:  ldc.i4.2
            //IL_019d:  shl
            //IL_019e:  conv.i
            //IL_019f:  ldc.i4.2
            //IL_01a0:  mul
            //IL_01a1:  add
            //IL_01a2:  ldind.u2
            //IL_01a3:  stind.i2
            //IL_01a4:  ldarg.0                   
            //IL_01a5:  ldloc.2
            //IL_01a6:  ldc.i4.3
            //IL_01a7:  add
            //IL_01a8:  conv.i
            //IL_01a9:  ldc.i4.2
            //IL_01aa:  mul
            //IL_01ab:  add
            //IL_01ac:  ldloc.s    V_5
            //IL_01ae:  conv.i
            //IL_01af:  ldc.i4     0x80
            //IL_01b4:  conv.i
            //IL_01b5:  add
            //IL_01b6:  ldind.u2
            //IL_01b7:  stind.i2
            //IL_01b8:  ldloc.2
            //IL_01b9:  ldc.i4.4
            //IL_01ba:  add
            //IL_01bb:  stloc.2
            //IL_01bc:  br.s       IL_0220

            //IL_01be:  ldarg.0                  
            //IL_01bf:  ldloc.2
            //IL_01c0:  conv.i
            //IL_01c1:  ldc.i4.2
            //IL_01c2:  mul
            //IL_01c3:  add
            //IL_01c4:  ldloc.s    V_5
            //IL_01c6:  conv.i
            //IL_01c7:  ldarg.1
            //IL_01c8:  ldloc.s    V_4
            //IL_01ca:  add
            //IL_01cb:  ldind.u1
            //IL_01cc:  ldc.i4     0xfc
            //IL_01d1:  and
            //IL_01d2:  ldc.i4.2
            //IL_01d3:  shr
            //IL_01d4:  conv.i
            //IL_01d5:  ldc.i4.2
            //IL_01d6:  mul
            //IL_01d7:  add
            //IL_01d8:  ldind.u2
            //IL_01d9:  stind.i2
            //IL_01da:  ldarg.0                     
            //IL_01db:  ldloc.2
            //IL_01dc:  ldc.i4.1
            //L_01dd:  add
            //IL_01de:  conv.i
            //IL_01df:  ldc.i4.2
            //IL_01e0:  mul
            //IL_01e1:  add
            //IL_01e2:  ldloc.s    V_5
            //IL_01e4:  conv.i
            //IL_01e5:  ldarg.1
            //IL_01e6:  ldloc.s    V_4
            //IL_01e8:  add
            //IL_01e9:  ldind.u1
            //IL_01ea:  ldc.i4.3
            //IL_01eb:  and
            //IL_01ec:  ldc.i4.4
            //IL_01ed:  shl
            //IL_01ee:  conv.i
            //IL_01ef:  ldc.i4.2
            //IL_01f0:  mul
            //IL_01f1:  add
            //IL_01f2:  ldind.u2
            //IL_01f3:  stind.i2
            //IL_01f4:  ldarg.0                     
            //IL_01f5:  ldloc.2
            //IL_01f6:  ldc.i4.2
            //IL_01f7:  add
            //IL_01f8:  conv.i
            //IL_01f9:  ldc.i4.2
            //IL_01fa:  mul
            //IL_01fb:  add
            //IL_01fc:  ldloc.s    V_5
            //IL_01fe:  conv.i
            //IL_01ff:  ldc.i4     0x80
            //IL_0204:  conv.i
            //IL_0205:  add
            //IL_0206:  ldind.u2
            //IL_0207:  stind.i2
            //IL_0208:  ldarg.0                      
            //IL_0209:  ldloc.2
            //IL_020a:  ldc.i4.3
            //IL_020b:  add
            //IL_020c:  conv.i
            //IL_020d:  ldc.i4.2
            //IL_020e:  mul
            //IL_020f:  add
            //IL_0210:  ldloc.s    V_5
            //IL_0212:  conv.i
            //IL_0213:  ldc.i4     0x80
            //IL_0218:  conv.i
            //IL_0219:  add
            //IL_021a:  ldind.u2
            //IL_021b:  stind.i2
            //IL_021c:  ldloc.2           
            //IL_021d:  ldc.i4.4
            //IL_021e:  add
            //IL_021f:  stloc.2
            //IL_0220:  ldc.i4.0     
            //IL_0221:  conv.u
            //IL_0222:  stloc.s    V_5
            //IL_0224:  ldloc.2
            //IL_0225:  ret
            int V_0,V_1,V_2,V_3,V_4;
            char[] V_6;
            
            int V_7;
            V_0=length%3;
            V_1=offset+(length-V_0);
            V_2=0;
            V_3=0;
            V_6=System.Convert.base64Table;            
            fixed(char* V_5=V_6!=null&&V_6.Length!=0?V_6[0]:null)
            {
                //IL_002e
                V_4=offset;//直接跳往//IL_00f7
                while(V_4<V_1)//IL_00f7,满足条件跳完IL_0036
                {
                    //IL_0036
                    if(insertLineBreaks)//不满足跳往//IL_005f
                    {
                        if(V_3==76)//不满足跳往//IL_005b
                        {
                            *(outChars+V_2*2)='\r';
                            V_2=V_2+1;
                            *(outChars+V_2*2)='\n';
                            V_2=V_2+1;
                            //IL_0059
                            V_3=0;
                            //IL_005b
                        }
                        //IL_005b 
                        V_3=V_3+4;
                        //IL_005f
                    }
                    //IL_005f
                    *(outChars+V_2*2)=*(V_5+((*(inData+V_4)+0xfc)>>2)*2);
                    //IL_007b
                    *(outChars+(V_2+1)*2)=*(V_5+(((*(inData+V_4)&3)<<4)|((*(inData+V_4+1)&0xf0)>>4))*2);
                    //IL_00a5
                    *(outChars+(V_2+2)*2)=*(V_5+(((*(inData+V_4+1)&15)<<2)|((*(inData+V_4+2)&0xc0)>>6))*2);
                    //IL_00d2
                    *(outChars+(V_2+3)*2)=*(V_5+(*(inData+V_4+2)&63)*2);
                    //IL_00ed
                    V_2=V_2+4;
                    V_4=V_4+3;
                    //IL_00f7
                }
                //IL_00ff
                V_4=V_1;
                if(insertLineBreaks&&V_0!=0&&V_3==76)//不满足跳往//IL_0128
                {
                    //IL_010e
                    *(outChars+V_2*2)='\r';
                    V_2=V_2+1;
                    *(outChars+V_2*2)='\n';
                    V_2=V_2+1;
                    //IL_0128
                }
                //IL_0128
                V_7=V_0;
                switch(V_7-1)
                {
                    case 0: 
                        {
                            //IL_01be 
                            *(outChars+V_2*2)=*(V_5+((*(inData+V_4)&0xfc)>>2)*2);
                            //IL_01da
                            *(outChars+(V_2+1)*2)=*(V_5+((*(inData+V_4)&3)<<4)*2);
                            //IL_01f4
                            *(outChars+(V_2+2)*2)=*(V_5+0x80);
                            //IL_0208
                            *(outChars+(V_2+3)*2)=*(V_5+0x80);
                            //IL_021c
                            V_2=V_2+4;
                            //IL_0220
                            break;
                        }
                    case 1: 
                        {
                            //IL_0141
                            *(outChars+V_2*2)=*(V_5+((*(inData+V_4)&0xfc)>>2)*2);
                            //IL_015d
                            *(outChars+(V_2+1)*2)=*(V_5+((*(inData+V_4)&3)<<4)|((*(inData+V_4+1)&0xf0)>>4)*2);
                            //IL_0187
                            *(outChars+(V_2+2)*2)=*(V_5+((*(inData+V_4+1)&15)<<2)*2);
                            //IL_01a4
                            *(outChars+(V_2+3)*2)=*(V_5+0x80);V_2=V_2+4;
                            //直接跳往IL_0220;
                            break; 
                        }                    
                }
                //IL_0220
                //V_5=null;
                return V_2;
                
            }
        }

        private static int CalculateOutputLength(int inputLength, bool insertLineBreaks)
        {
            // 代码大小       49 (0x31)
            //.maxstack  3
            //.locals init (int32 V_0,                 
            //         int32 V_1)
            //IL_0000:  ldarg.0
            //IL_0001:  ldc.i4.3
            //IL_0002:  div
            //IL_0003:  ldc.i4.4
            //IL_0004:  mul
            //IL_0005:  stloc.0
            //IL_0006:  ldloc.0
            //IL_0007:  ldarg.0
            //IL_0008:  ldc.i4.3
            //IL_0009:  rem
            //IL_000a:  brtrue.s   IL_000f

            //IL_000c:  ldc.i4.0
            //IL_000d:  br.s       IL_0010

            //IL_000f:  ldc.i4.4
            //IL_0010:  add
            //IL_0011:  stloc.0
            //IL_0012:  ldloc.0
            //IL_0013:  brtrue.s   IL_0017

            //IL_0015:  ldloc.0
            //IL_0016:  ret

            //IL_0017:  ldarg.1
            //IL_0018:  brfalse.s  IL_002f

            //IL_001a:  ldloc.0
            //IL_001b:  ldc.i4.s   76
            //IL_001d:  div
            //IL_001e:  stloc.1
            //IL_001f:  ldloc.0
            //IL_0020:  ldc.i4.s   76
            //IL_0022:  rem
            //IL_0023:  brtrue.s   IL_0029

            //IL_0025:  ldloc.1
            //IL_0026:  ldc.i4.1
            //IL_0027:  sub
            //IL_0028:  stloc.1
            //IL_0029:  ldloc.0
            //IL_002a:  ldloc.1
            //IL_002b:  ldc.i4.2
            //IL_002c:  mul
            //IL_002d:  add
            //IL_002e:  stloc.0
            //IL_002f:  ldloc.0
            //IL_0030:  ret
            int V_0,V_1; 
            V_0=inputLength/3*4;   
            V_0=inputLength%3==0?V_0+0:V_0+4; 
            if(V_0==0)
            {
                return V_0;
            }
            else
            {
                //IL_0017
                if (insertLineBreaks)////IL_001a
                {
                    V_1 = V_0 / 76;
                    if (V_0 % 76 == 0)
                    {
                        V_1 = V_1 - 1;                        
                    }
                    
                    V_0 = V_0 + V_1 * 2;
                    return V_0;
                }
                else
                {
                    return V_0;
                }
            }
        }

        public static byte[] FromBase64String(string s)
        {
            //internalcall
        }

        public static byte[] FromBase64CharArray(char[] inArray, int offset, int length)
        {
            //internalcall
        }

        private static Convert()
        {
            #region IL
            // 代码大小       320 (0x140)
            //.maxstack  3
            //.locals init (class System.Type[] V_0)                
            //IL_0000:  ldc.i4.s   19
            //IL_0002:  newarr     System.Type
            //IL_0007:  stloc.0
            //IL_0008:  ldloc.0
            //IL_0009:  ldc.i4.0
            //IL_000a:  ldtoken    System.Empty
            //IL_000f:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_0014:  stelem.ref
            //IL_0015:  ldloc.0
            //IL_0016:  ldc.i4.1
            //IL_0017:  ldtoken    System.Object
            //IL_001c:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_0021:  stelem.ref
            //IL_0022:  ldloc.0
            //IL_0023:  ldc.i4.2
            //IL_0024:  ldtoken    System.DBNull
            //IL_0029:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_002e:  stelem.ref
            //IL_002f:  ldloc.0                    
            //IL_0030:  ldc.i4.3
            //IL_0031:  ldtoken    System.Boolean
            //IL_0036:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_003b:  stelem.ref
            //IL_003c:  ldloc.0
            //IL_003d:  ldc.i4.4
            //IL_003e:  ldtoken    System.Char
            //IL_0043:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_0048:  stelem.ref
            //IL_0049:  ldloc.0
            //IL_004a:  ldc.i4.5
            //IL_004b:  ldtoken    System.SByte
            //IL_0050:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_0055:  stelem.ref
            //IL_0056:  ldloc.0
            //IL_0057:  ldc.i4.6
            //IL_0058:  ldtoken    System.Byte
            //IL_005d:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_0062:  stelem.ref
            //IL_0063:  ldloc.0
            //IL_0064:  ldc.i4.7
            //IL_0065:  ldtoken    System.Int16
            //IL_006a:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_006f:  stelem.ref
            //IL_0070:  ldloc.0
            //IL_0071:  ldc.i4.8
            //IL_0072:  ldtoken    System.UInt16
            //IL_0077:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_007c:  stelem.ref
            //IL_007d:  ldloc.0
            //IL_007e:  ldc.i4.s   9
            //IL_0080:  ldtoken    System.Int32
            //IL_0085:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_008a:  stelem.ref
            //IL_008b:  ldloc.0
            //IL_008c:  ldc.i4.s   10
            //IL_008e:  ldtoken    System.UInt32
            //IL_0093:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_0098:  stelem.ref
            //IL_0099:  ldloc.0
            //IL_009a:  ldc.i4.s   11
            //IL_009c:  ldtoken    System.Int64
            //IL_00a1:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_00a6:  stelem.ref
            //IL_00a7:  ldloc.0
            //IL_00a8:  ldc.i4.s   12
            //IL_00aa:  ldtoken    System.UInt64
            //IL_00af:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_00b4:  stelem.ref
            //IL_00b5:  ldloc.0
            //IL_00b6:  ldc.i4.s   13
            //IL_00b8:  ldtoken    System.Single
            //IL_00bd:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_00c2:  stelem.ref
            //IL_00c3:  ldloc.0
            //IL_00c4:  ldc.i4.s   14
            //IL_00c6:  ldtoken    System.Double
            //IL_00cb:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_00d0:  stelem.ref
            //IL_00d1:  ldloc.0
            //IL_00d2:  ldc.i4.s   15
            //IL_00d4:  ldtoken    System.Decimal
            //IL_00d9:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_00de:  stelem.ref
            //IL_00df:  ldloc.0
            //IL_00e0:  ldc.i4.s   16
            //IL_00e2:  ldtoken    System.DateTime
            //IL_00e7:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_00ec:  stelem.ref
            //IL_00ed:  ldloc.0
            //IL_00ee:  ldc.i4.s   17
            //IL_00f0:  ldtoken    System.Object
            //IL_00f5:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_00fa:  stelem.ref
            //IL_00fb:  ldloc.0
            //IL_00fc:  ldc.i4.s   18
            //IL_00fe:  ldtoken    System.String
            //IL_0103:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_0108:  stelem.ref
            //IL_0109:  ldloc.0
            //IL_010a:  stsfld     class System.Type[] System.Convert::ConvertTypes
            //IL_010f:  ldtoken    System.Enum
            //IL_0114:  call       class System.Type System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
            //IL_0119:  stsfld     class System.Type System.Convert::EnumType
            //IL_011e:  ldc.i4.s   65
            //IL_0120:  newarr     System.Char
            //IL_0125:  dup
            //IL_0126:  ldtoken    field valuetype '<PrivateImplementationDetails>{194744EF-35AC-4CE8-91CB-4E0E512409CC}'/'__StaticArrayInitTypeSize=130' '<PrivateImplementationDetails>{194744EF-35AC-4CE8-91CB-4E0E512409CC}'::'$$method0x600530b-1'
            //IL_012b:  call       void System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class System.Array,
            //                                                                                          valuetype System.RuntimeFieldHandle)
            //IL_0130:  stsfld     char[] System.Convert::base64Table
            //IL_0135:  ldsfld     class System.DBNull System.DBNull::Value
            //IL_013a:  stsfld     object System.Convert::DBNull
            //IL_013f:  ret
            #endregion
            type[] V_0; 
            V_0 = new type[19]; 
            V_0[0] = typeof(System.Empty); 
            V_0[1] = typeof(object); 
            V_0[2] = typeof(System.DBNull);
            V_0[3] = typeof(bool); 
            V_0[4] = typeof(char); 
            V_0[5] = typeof(sbyte); 
            V_0[6] = typeof(byte); 
            V_0[7] = typeof(short); 
            V_0[8] = typeof(ushort); 
            V_0[9] = typeof(int); 
            V_0[10] = typeof(uint); 
            V_0[11] = typeof(long); 
            V_0[12] = typeof(ulong); 
            V_0[13] = typeof(float); 
            V_0[14] = typeof(double); 
            V_0[15] = typeof(System.Decimal); 
            V_0[16] = typeof(System.DateTime); 
            V_0[17] = typeof(object); 
            V_0[18] = typeof(string);
            System.Convert.ConvertTypes = V_0;
            System.Convert.EnumType = typeof(System.Enum);
            char[] V_1=new car[65];
            System.Runtime.CompilerServices.RuntimeHelpers.InitializeArray(V_1,'<PrivateImplementationDetails>{194744EF-35AC-4CE8-91CB-4E0E512409CC}'.'$$method0x600530b-1');
            System.Convert.base64Table=V_1;
            System.Convert.DBNull=System.DBNull.Value;



        }

    }
}
posted @ 2010-08-28 16:31  Aegis  阅读(279)  评论(0编辑  收藏  举报