System.Int16

using System.Runtime.InteropServices;
using System.Globalization;
namespace System
{
    [StructLayout(LayoutKind.Sequential),Serializable,ComVisible(true)]
    public struct Int16:System.IComparable,System.IFormattable,System.IConvertible,System.IComparable<short>,System.IEquatable<short>
    {      
      public const short MaxValue = (int16)0x7FFF;
      public const short MinValue = (int16)0x8000;
      internal short m_value;
      public new virtual sealed int CompareTo(object @value)
      {
        // 代码大小       39 (0x27)
        //.maxstack  8
        //IL_0000:  ldarg.1
        //IL_0001:  brtrue.s   IL_0005

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

        //IL_0005:  ldarg.1
        //IL_0006:  isinst     System.Int16
        //IL_000b:  brfalse.s  IL_0017

        //IL_000d:  ldarg.0
        //IL_000e:  ldind.i2
        //IL_000f:  ldarg.1
        //IL_0010:  unbox.any  System.Int16
        //IL_0015:  sub
        //IL_0016:  ret

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

          if (@value == null)
          {
              return 1;
          }
          else
          {
              if (@value as short == null)
              {
                  throw new System.ArgumentException(System.Environment.GetResourceString("Arg_MustBeInt16"));
              }
              else
              {
                  return this - (short)@value;
              }
          }
      }

      public new virtual sealed int CompareTo(short @value)
      {
        // 代码大小       5 (0x5)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  ldarg.1
        //IL_0003:  sub
        //IL_0004:  ret
          return this-@value;
      } 

      public virtual bool Equals(object obj)
      {
        // 代码大小       21 (0x15)
        //.maxstack  8
        //IL_0000:  ldarg.1
        //IL_0001:  isinst     System.Int16
        //IL_0006:  brtrue.s   IL_000a

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

        //IL_000a:  ldarg.0
        //IL_000b:  ldind.i2
        //IL_000c:  ldarg.1
        //IL_000d:  unbox.any  System.Int16
        //IL_0012:  ceq
        //IL_0014:  ret
          if (obj as Int16 == null)
          {
              return 0;
          }
          else
          {
              return(this == (short)obj);
          }
           
      } 

      public new virtual sealed bool  Equals(short obj)
      {
        // 代码大小       6 (0x6)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  ldarg.1
        //IL_0003:  ceq
        //IL_0005:  ret
          return (this==obj);
      }

      public virtual int GetHashCode()
      {
        // 代码大小       10 (0xa)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  conv.u2
        //IL_0003:  ldarg.0
        //IL_0004:  ldind.i2
        //IL_0005:  ldc.i4.s   16
        //IL_0007:  shl
        //IL_0008:  or
        //IL_0009:  ret
          return (this);
      } 

      public virtual string ToString()
      {
        // 代码大小       14 (0xe)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  ldnull
        //IL_0003:  call       class System.Globalization.NumberFormatInfo System.Globalization.NumberFormatInfo::get_CurrentInfo()
        //IL_0008:  call       string System.Number::FormatInt32(int32,
        //                                                       string,
        //                                                       class System.Globalization.NumberFormatInfo)
        //IL_000d:  ret

          return System.Number.FormatInt32(this, null,System.Globalization.NumberFormatInfo.CurrentInfo);

      } 

      public new virtual sealed string ToString(System.IFormatProvider provider)
      {
        // 代码大小       15 (0xf)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  ldnull
        //IL_0003:  ldarg.1
        //IL_0004:  call       class System.Globalization.NumberFormatInfo System.Globalization.NumberFormatInfo::GetInstance(class System.IFormatProvider)
        //IL_0009:  call       string System.Number::FormatInt32(int32,
        //                                                       string,
        //                                                       class System.Globalization.NumberFormatInfo)
        //IL_000e:  ret
          System.Number.FormatInt32return(this, null, System.Globalization.NumberFormatInfo.GetInstance(provider));
      } 

      public string ToString(string format)
      {
        // 代码大小       13 (0xd)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldarg.1
        //IL_0002:  call       class System.Globalization.NumberFormatInfo System.Globalization.NumberFormatInfo::get_CurrentInfo()
        //IL_0007:  call       instance string System.Int16::ToString(string,
        //                                                            class System.Globalization.NumberFormatInfo)
        //IL_000c:  ret
          return this.ToString(format,System.Globalization.NumberFormatInfo.CurrentInfo);
      } 

      public new virtual sealed string ToString(string format,System.IFormatProvider provider)
      {
        // 代码大小       14 (0xe)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldarg.1
        //IL_0002:  ldarg.2
        //IL_0003:  call       class System.Globalization.NumberFormatInfo System.Globalization.NumberFormatInfo::GetInstance(class System.IFormatProvider)
        //IL_0008:  call       instance string System.Int16::ToString(string,
        //                                                            class System.Globalization.NumberFormatInfo)
        //IL_000d:  ret
          return this.ToString(format, NumberFormatInfo.GetInstance(provider));
      } 

      private string ToString(string format,System.Globalization.NumberFormatInfo info)
      {
        // 代码大小       67 (0x43)
        //.maxstack  3
        //.locals init (uint32 V_0)                      
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  ldc.i4.0
        //IL_0003:  bge.s      IL_0039

        //IL_0005:  ldarg.1
        //IL_0006:  brfalse.s  IL_0039

        //IL_0008:  ldarg.1
        //IL_0009:  callvirt   instance int32 System.String::get_Length()
        //IL_000e:  ldc.i4.0
        //IL_000f:  ble.s      IL_0039

        //IL_0011:  ldarg.1              
        //IL_0012:  ldc.i4.0
        //IL_0013:  callvirt   instance char System.String::get_Chars(int32)
        //IL_0018:  ldc.i4.s   88
        //IL_001a:  beq.s      IL_0027

        //IL_001c:  ldarg.1
        //IL_001d:  ldc.i4.0
        //IL_001e:  callvirt   instance char System.String::get_Chars(int32)
        //IL_0023:  ldc.i4.s   120
        //IL_0025:  bne.un.s   IL_0039

        //IL_0027:  ldarg.0
        //IL_0028:  ldind.i2
        //IL_0029:  ldc.i4     0xffff
        //IL_002e:  and
        //IL_002f:  stloc.0
        //IL_0030:  ldloc.0
        //IL_0031:  ldarg.1
        //IL_0032:  ldarg.2
        //IL_0033:  call       string System.Number::FormatUInt32(uint32,
        //                                                        string,
        //                                                        class System.Globalization.NumberFormatInfo)
        //IL_0038:  ret

        //IL_0039:  ldarg.0
        //IL_003a:  ldind.i2
        //IL_003b:  ldarg.1
        //IL_003c:  ldarg.2
        //IL_003d:  call       string System.Number::FormatInt32(int32,
        //                                                       string,
        //                                                       class System.Globalization.NumberFormatInfo)
        //IL_0042:  ret
          uint V_0;
          if (this < 0&&format!=null&&format.Length>0)
          {
              if (format[0] == 'X' || format[0] == 'x')
              {
                  //IL_0027
                  V_0 = this & 0xffff;
                  return System.Number.FormatUInt32(V_0, format, info);
              }
          }
          //IL_0039
          return System.Number.FormatInt32(this, format, info);
         
      }

      public static short Parse(string s)
      {
        // 代码大小       13 (0xd)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldc.i4.7
        //IL_0002:  call       class System.Globalization.NumberFormatInfo System.Globalization.NumberFormatInfo::get_CurrentInfo()
        //IL_0007:  call       int16 System.Int16::Parse(string,
        //                                               valuetype System.Globalization.NumberStyles,
        //                                               class System.Globalization.NumberFormatInfo)
        //IL_000c:  ret
          return System.Int16.Parse(s, NumberStyles.Integer, System.Globalization.NumberFormatInfo.CurrentInfo);
        
      } 

      public  static short  Parse(string s,System.Globalization.NumberStyles style)
      {
        // 代码大小       19 (0x13)
        //.maxstack  8
        //IL_0000:  ldarg.1
        //IL_0001:  call       void System.Globalization.NumberFormatInfo::ValidateParseStyleInteger(valuetype System.Globalization.NumberStyles)
        //IL_0006:  ldarg.0
        //IL_0007:  ldarg.1
        //IL_0008:  call       class System.Globalization.NumberFormatInfo System.Globalization.NumberFormatInfo::get_CurrentInfo()
        //IL_000d:  call       int16 System.Int16::Parse(string,
        //                                               valuetype System.Globalization.NumberStyles,
        //                                               class System.Globalization.NumberFormatInfo)
        //IL_0012:  ret
          NumberFormatInfo.ValidateParseStyleInteger(style);
          return System.Int16.Parse(s, style, NumberFormatInfo.CurrentInfo);
      } 

      public static short Parse(string s,System.IFormatProvider provider)
      {
        // 代码大小       14 (0xe)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldc.i4.7
        //IL_0002:  ldarg.1
        //IL_0003:  call       class System.Globalization.NumberFormatInfo System.Globalization.NumberFormatInfo::GetInstance(class System.IFormatProvider)
        //IL_0008:  call       int16 System.Int16::Parse(string,
        //                                               valuetype System.Globalization.NumberStyles,
        //                                               class System.Globalization.NumberFormatInfo)
        //IL_000d:  ret
          return System.Int16.Parse(s, NumberStyles.Integer, NumberFormatInfo.GetInstance(provider));
      }

      public static short Parse(string s,System.Globalization.NumberStyles style,System.IFormatProvider provider)
      {
        // 代码大小       20 (0x14)
        //.maxstack  8
        //IL_0000:  ldarg.1
        //IL_0001:  call       void System.Globalization.NumberFormatInfo::ValidateParseStyleInteger(valuetype System.Globalization.NumberStyles)
        //IL_0006:  ldarg.0
        //IL_0007:  ldarg.1
        //IL_0008:  ldarg.2
        //IL_0009:  call       class System.Globalization.NumberFormatInfo System.Globalization.NumberFormatInfo::GetInstance(class System.IFormatProvider)
        //IL_000e:  call       int16 System.Int16::Parse(string,
        //                                               valuetype System.Globalization.NumberStyles,
        //                                               class System.Globalization.NumberFormatInfo)
        //IL_0013:  ret
          NumberFormatInfo.ValidateParseStyleInteger(stle);
          return System.Int16.Parse(s,style,NumberFormatInfo.GetInstance(provider));
      } 

      private static short Parse(string s,System.Globalization.NumberStyles style,System.Globalization.NumberFormatInfo info)
      {
        // 代码大小       106 (0x6a)
        //.maxstack  3
        //.locals init (int32 V_0,                                
        //         class System.OverflowException V_1)
        //IL_0000:  ldc.i4.0
        //IL_0001:  stloc.0
        //.try                       
        //{
        //  IL_0002:  ldarg.0
        //  IL_0003:  ldarg.1
        //  IL_0004:  ldarg.2
        //  IL_0005:  call       int32 System.Number::ParseInt32(string,
        //                                                       valuetype System.Globalization.NumberStyles,
        //                                                       class System.Globalization.NumberFormatInfo)
        //  IL_000a:  stloc.0
        //  IL_000b:  leave.s    IL_001f

        //}  // end .try
        //catch System.OverflowException                  
        //{
        //  IL_000d:  stloc.1
        //  IL_000e:  ldstr      "Overflow_Int16"
        //  IL_0013:  call       string System.Environment::GetResourceString(string)
        //  IL_0018:  ldloc.1
        //  IL_0019:  newobj     instance void System.OverflowException::.ctor(string,
        //                                                                     class System.Exception)
        //  IL_001e:  throw

        //}  // end handler                                
        //IL_001f:  ldarg.1
        //IL_0020:  ldc.i4     0x200
        //IL_0025:  and
        //IL_0026:  brfalse.s  IL_0047

        //IL_0028:  ldloc.0              
        //IL_0029:  ldc.i4.0
        //IL_002a:  blt.s      IL_0034

        //IL_002c:  ldloc.0
        //IL_002d:  ldc.i4     0xffff
        //IL_0032:  ble.s      IL_0044

        //IL_0034:  ldstr      "Overflow_Int16"                throw 
        //IL_0039:  call       string System.Environment::GetResourceString(string)
        //IL_003e:  newobj     instance void System.OverflowException::.ctor(string)
        //IL_0043:  throw

        //IL_0044:  ldloc.0              
        //IL_0045:  conv.i2
        //IL_0046:  ret

        //IL_0047:  ldloc.0          
        //IL_0048:  ldc.i4     0xffff8000
        //IL_004d:  blt.s      IL_0057

        //IL_004f:  ldloc.0
        //IL_0050:  ldc.i4     0x7fff
        //IL_0055:  ble.s      IL_0067

        //IL_0057:  ldstr      "Overflow_Int16"
        //IL_005c:  call       string System.Environment::GetResourceString(string)
        //IL_0061:  newobj     instance void System.OverflowException::.ctor(string)
        //IL_0066:  throw

        //IL_0067:  ldloc.0
        //IL_0068:  conv.i2
        //IL_0069:  ret
          int32 V_0; 
          
          V_0 = 0;
          try
          {
              V_0 = System.Number.ParseInt32(s, style, info);
          }
          catch(System.OverflowException V_1)
          {
              throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int16"), V_1);
          }
          if (style & (NumberStyles.AllowTrailingSign | NumberStyles.AllowThousands | NumberStyles.AllowExponent)==0)
          {
              //IL_0047
              if (V_0 >= 0xffff8000 && V_0 <= 0x7fff) 
              {
                  return (short)V_0; 
              }
              else 
              { 
                  throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int16")); 
              }
          }
          else
          {
              //IL_0028
              if (V_0 >= 0 && V_0 <= 0xffff)
              {
                  return (short)V_0;
              }
              else
              {
                  throw new System.OverflowException(System.Environment.GetResourceString("Overflow_Int16"));
              }              
          }

      } 

      public static bool TryParse(string s,out short result)
      {
        // 代码大小       14 (0xe)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldc.i4.7
        //IL_0002:  call       class System.Globalization.NumberFormatInfo System.Globalization.NumberFormatInfo::get_CurrentInfo()
        //IL_0007:  ldarg.1
        //IL_0008:  call       bool System.Int16::TryParse(string,
        //                                                 valuetype System.Globalization.NumberStyles,
        //                                                 class System.Globalization.NumberFormatInfo,
        //                                                 int16&)
        //IL_000d:  ret
          return System.Int16.TryParse(s,NumberStyles.Integer,NumberFormatInfo.CurrentInfo,out result);
      } 

      public static bool TryParse(string s,System.Globalization.NumberStyles style,System.IFormatProvider provider,out short result)
      {
        // 代码大小       21 (0x15)
        //.maxstack  8
        //IL_0000:  ldarg.1
        //IL_0001:  call       void System.Globalization.NumberFormatInfo::ValidateParseStyleInteger(valuetype System.Globalization.NumberStyles)
        //IL_0006:  ldarg.0
        //IL_0007:  ldarg.1
        //IL_0008:  ldarg.2
        //IL_0009:  call       class System.Globalization.NumberFormatInfo System.Globalization.NumberFormatInfo::GetInstance(class System.IFormatProvider)
        //IL_000e:  ldarg.3
        //IL_000f:  call       bool System.Int16::TryParse(string,
        //                                                 valuetype System.Globalization.NumberStyles,
        //                                                 class System.Globalization.NumberFormatInfo,
        //                                                 int16&)
        //IL_0014:  ret
          NumberFormatInfo.ValidateParseStyleInteger(style);
          return System.Int16.TryParse(s, style, NumberFormatInfo.GetInstance(provider), out result);
      }

      private static bool TryParse(string s,System.Globalization.NumberStyles style,System.Globalization.NumberFormatInfo info,out short result)
      {
        // 代码大小       70 (0x46)
        //.maxstack  4
        //.locals init (int32 V_0)             
        //IL_0000:  ldarg.3
        //IL_0001:  ldc.i4.0
        //IL_0002:  stind.i2
        //IL_0003:  ldarg.0
        //IL_0004:  ldarg.1
        //IL_0005:  ldarg.2
        //IL_0006:  ldloca.s   V_0
        //IL_0008:  call       bool System.Number::TryParseInt32(string,
        //                                                       valuetype System.Globalization.NumberStyles,
        //                                                       class System.Globalization.NumberFormatInfo,
        //                                                       int32&)
        //IL_000d:  brtrue.s   IL_0011

        //IL_000f:  ldc.i4.0
        //IL_0010:  ret

        //IL_0011:  ldarg.1                      
        //IL_0012:  ldc.i4     0x200
        //IL_0017:  and
        //IL_0018:  brfalse.s  IL_002e

        //IL_001a:  ldloc.0
        //IL_001b:  ldc.i4.0
        //IL_001c:  blt.s      IL_0026

        //IL_001e:  ldloc.0
        //IL_001f:  ldc.i4     0xffff
        //IL_0024:  ble.s      IL_0028

        //IL_0026:  ldc.i4.0
        //IL_0027:  ret

        //IL_0028:  ldarg.3
        //IL_0029:  ldloc.0
        //IL_002a:  conv.i2
        //IL_002b:  stind.i2
        //IL_002c:  ldc.i4.1
        //IL_002d:  ret

        //IL_002e:  ldloc.0                     
        //IL_002f:  ldc.i4     0xffff8000
        //IL_0034:  blt.s      IL_003e

        //IL_0036:  ldloc.0
        //IL_0037:  ldc.i4     0x7fff
        //IL_003c:  ble.s      IL_0040

        //IL_003e:  ldc.i4.0
        //IL_003f:  ret

        //IL_0040:  ldarg.3
        //IL_0041:  ldloc.0
        //IL_0042:  conv.i2
        //IL_0043:  stind.i2
        //IL_0044:  ldc.i4.1
        //IL_0045:  ret
          int V_0; 
          result=0;
          if(System.Number.TryParseInt32(s,style,info,out V_0))
          {
              //IL_0011
              if(style&(NumberStyles.AllowTrailingSign | NumberStyles.AllowThousands | NumberStyles.AllowExponent)==0)
              {
                  //IL_002e
                  if (V_0 >= 0xffff8000 && V_0 <= 0x7fff) 
                  {
                      result = V_0; 
                      return true; 
                  }
                  else
                  { 
                      return false;
                  }
              }
              else
              {
                  if(V_0>=0&&V_0<=0xffff)
                  {
                      result=V_0;
                      return true;
                  }
                  else
                  {
                      return false;
                  }
              }
          }
          else
          {
              return false;
          }

      } 

      public new virtual sealed System.TypeCode GetTypeCode()
      {
        // 代码大小       2 (0x2)
        //.maxstack  8
        //IL_0000:  ldc.i4.7
        //IL_0001:  ret
          return TypeCode.Int16;
      } 

      private new virtual sealed bool System.IConvertible.ToBoolean(System.IFormatProvider provider)
      {
        
        // 代码大小       8 (0x8)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  call       bool System.Convert::ToBoolean(int16)
        //IL_0007:  ret
          return System.Convert.ToBoolean(this);
      }

      private new virtual sealed char System.IConvertible.ToChar(System.IFormatProvider provider)
      {        
        // 代码大小       8 (0x8)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  call       char System.Convert::ToChar(int16)
        //IL_0007:  ret
          return System.Convert.ToChar(this);
      } 

      private new virtual sealed sbyte System.IConvertible.ToSByte(System.IFormatProvider provider)
      {        
        // 代码大小       8 (0x8)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  call       int8 System.Convert::ToSByte(int16)
        //IL_0007:  ret
          return System.Convert.ToSByte(this);
      }

      private new virtual sealed byte System.IConvertible.ToByte(System.IFormatProvider provider)
      {        
        // 代码大小       8 (0x8)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  call       uint8 System.Convert::ToByte(int16)
        //IL_0007:  ret
          return System.Convert.ToByte(this);
      }

      private new virtual sealed short System.IConvertible.ToInt16(System.IFormatProvider provider)
      {        
        // 代码大小       3 (0x3)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  ret
          return this;
      }

      private new virtual sealed ushort System.IConvertible.ToUInt16(System.IFormatProvider provider)
      {        
        // 代码大小       8 (0x8)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  call       uint16 System.Convert::ToUInt16(int16)
        //IL_0007:  ret
          return System.Convert.ToUInt16(this);
      } 

      private new virtual sealed int System.IConvertible.ToInt32(System.IFormatProvider provider)
      {        
        // 代码大小       8 (0x8)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  call       int32 System.Convert::ToInt32(int16)
        //IL_0007:  ret
          return System.Convert.ToInt32(this);
      }

      private new virtual sealed uint System.IConvertible.ToUInt32(System.IFormatProvider provider)
      {        
        // 代码大小       8 (0x8)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  call       uint32 System.Convert::ToUInt32(int16)
        //IL_0007:  ret
          return System.Convert.ToUInt32(this);
      }

      private new virtual sealed long System.IConvertible.ToInt64(System.IFormatProvider provider)
      {        
        // 代码大小       8 (0x8)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  call       int64 System.Convert::ToInt64(int16)
        //IL_0007:  ret
          return System.Convert.ToInt64(this);
      }

      private new virtual sealed ulong System.IConvertible.ToUInt64(System.IFormatProvider provider)
      {        
        // 代码大小       8 (0x8)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  call       uint64 System.Convert::ToUInt64(int16)
        //IL_0007:  ret
          return System.Convert.ToUInt64(this);
      } 

      private new virtual sealed float System.IConvertible.ToSingle(System.IFormatProvider provider)
      {        
        // 代码大小       8 (0x8)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  call       float32 System.Convert::ToSingle(int16)
        //IL_0007:  ret
          return System.Convert.ToSingle(this);
      } 

      private new virtual sealed double System.IConvertible.ToDouble(System.IFormatProvider provider)
      {        
        // 代码大小       8 (0x8)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  call       float64 System.Convert::ToDouble(int16)
        //IL_0007:  ret
          return System.Convert.ToDouble(this);
      } 

      private new virtual sealed System.Decimal System.IConvertible.ToDecimal(System.IFormatProvider provider)
      {        
        // 代码大小       8 (0x8)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  call       valuetype System.Decimal System.Convert::ToDecimal(int16)
        //IL_0007:  ret
          return System.Convert.ToDecimal(this);
      } 

      private new virtual sealed System.DateTime System.IConvertible.ToDateTime(System.IFormatProvider provider)
      {        
        // 代码大小       50 (0x32)
        //.maxstack  5
        //.locals init (object[] V_0)
        //IL_0000:  call       class System.Globalization.CultureInfo System.Globalization.CultureInfo::get_CurrentCulture()
        //IL_0005:  ldstr      "InvalidCast_FromTo"
        //IL_000a:  call       string System.Environment::GetResourceString(string)
        //IL_000f:  ldc.i4.2
        //IL_0010:  newarr     System.Object
        //IL_0015:  stloc.0
        //IL_0016:  ldloc.0
        //IL_0017:  ldc.i4.0
        //IL_0018:  ldstr      "Int16"
        //IL_001d:  stelem.ref
        //IL_001e:  ldloc.0
        //IL_001f:  ldc.i4.1
        //IL_0020:  ldstr      "DateTime"
        //IL_0025:  stelem.ref
        //IL_0026:  ldloc.0
        //IL_0027:  call       string System.String::Format(class System.IFormatProvider,
        //                                                  string,
        //                                                  object[])
        //IL_002c:  newobj     instance void System.InvalidCastException::.ctor(string)
        //IL_0031:  throw
          object[] V_0;
          V_0=new object[2];
          V_0[0]="Int16";
          V_0[1]="DateTime";
          throw new System.InvalidCastException(string.Format(System.Globalization.CultureInfo.CurrentCulture, System.Environment.GetResourceString("InvalidCast_FromTo"), V_0));

      } 

      private new virtual sealed object System.IConvertible.ToType(System.Type @type,System.IFormatProvider provider)
      {        
        // 代码大小       15 (0xf)
        //.maxstack  8
        //IL_0000:  ldarg.0
        //IL_0001:  ldind.i2
        //IL_0002:  box        System.Int16
        //IL_0007:  ldarg.1
        //IL_0008:  ldarg.2
        //IL_0009:  call       object System.Convert::DefaultToType(class System.IConvertible,
        //                                                          class System.Type,
        //                                                          class System.IFormatProvider)
        //IL_000e:  ret
          return System.Convert.DefaultToType((System.IConvertible)this,@type,provider);
      }

    } 
}
posted @ 2010-08-28 21:13  Aegis  阅读(316)  评论(0编辑  收藏  举报