Esempio n. 1
0
 void WriteValue(FakeStruct fake, int offset, DataFieldInfo info, object instance)
 {
     if (info.DBType < 6)
     {
         fake[offset] = Convert.ToInt32(info.field.GetValue(instance));
     }
     else if (info.DBType == DataType2.Float)
     {
         fake.SetFloat(offset, Convert.ToSingle(info.field.GetValue(instance)));
     }
     else if (info.DBType < 8)
     {
         fake.SetInt64(offset, Convert.ToInt64(info.field.GetValue(instance)));
     }
     else if (info.DBType == DataType2.Double)
     {
         fake.SetDouble(offset, Convert.ToDouble(info.field.GetValue(instance)));
     }
     else if (info.DBType == DataType2.Decimal)
     {
         fake.SetDecimal(offset, Convert.ToDecimal(info.field.GetValue(instance)));
     }
     else if (info.DBType == DataType2.Boolean)
     {
         fake[offset] = Convert.ToInt32(info.field.GetValue(instance));
     }
     else if (info.DBType == 12)
     {
         WriteStruct(fake, offset, info, info.field.GetValue(instance));
     }
 }
Esempio n. 2
0
 void WriteValue(FakeStruct fake, int offset, DataFieldInfo info, IntPtr ptr)
 {
     if (info.DBType < 6)
     {
         if (info.DataLength == 1)
         {
             unsafe { fake[offset] = *(byte *)(ptr + info.MemOffset); }
         }
         else if (info.DataLength == 2)
         {
             unsafe { fake[offset] = *(Int16 *)(ptr + info.MemOffset); }
         }
         else
         {
             unsafe { fake[offset] = *(Int32 *)(ptr + info.MemOffset); }
         }
     }
     else if (info.DBType == DataType2.Float)
     {
         unsafe { fake.SetFloat(offset, *(float *)(ptr + info.MemOffset)); }
     }
     else if (info.DBType < 8)
     {
         unsafe { fake.SetInt64(offset, *(Int64 *)(ptr + info.MemOffset)); }
     }
     else if (info.DBType == DataType2.Double)
     {
         unsafe { fake.SetDouble(offset, *(Double *)(ptr + info.MemOffset)); }
     }
     else if (info.DBType == DataType2.Decimal)
     {
         unsafe { fake.SetDecimal(offset, *(Decimal *)(ptr + info.MemOffset)); }
     }
     else if (info.DBType == DataType2.Boolean)
     {
         unsafe { fake[offset] = *(byte *)(ptr + info.MemOffset); }
     }
     else if (info.DBType == 12)
     {
         WriteStruct(fake, offset, info, ptr + info.MemOffset);
     }
 }